CL.*_*CL. 80
你可以使用这样的命令:
CREATE TABLE copied AS SELECT * FROM mytable WHERE 0
Run Code Online (Sandbox Code Playgroud)
但是由于SQLite的动态类型,大多数类型信息都会丢失.
如果您只需要一个行为与原始行为相似的表,即具有相同的列数和名称,并且可以存储相同的值,这就足够了.
如果您确实需要与原始类型信息完全相同的类型信息,则可以CREATE TABLE从sqlite_master表中读取原始SQL 语句,如下所示:
SELECT sql FROM sqlite_master WHERE type='table' AND name='mytable'
Run Code Online (Sandbox Code Playgroud)
Ray*_* Wu 11
SQLite无法使用PK,默认值和索引来克隆表.
用其他工具进行黑客攻击是必要的.
在shell中,用sed替换表名.
sqlite3 dbfile '.schema oldtable' | sed '1s/oldtable/newtable/' | sqlite3 dbfile
Run Code Online (Sandbox Code Playgroud)
你可以查看新表.
sqlite3 dbfile '.schema newtable'
Run Code Online (Sandbox Code Playgroud)
主键,默认值和索引将被保留.
我希望这个命令可以帮到你.