我有两个SQLite数据库,有相同的数据,但用途不同,我想避免重新插入数据,所以我想知道是否可以将整个表从一个数据库复制到另一个数据库?
发布于 2010-03-02 05:43:06
您必须使用ATTACH命令将数据库X与数据库Y连接起来,然后为要传输的表运行适当的Insert Into命令。
INSERT INTO X.TABLE SELECT * FROM Y.TABLE;
或者,如果列没有按顺序匹配:
INSERT INTO X.TABLE(fieldname1, fieldname2) SELECT fieldname1, fieldname2 FROM Y.TABLE;
发布于 2016-11-01 11:03:27
在一行中使用最简单和正确的方法:
sqlite3 old.db ".dump mytable" | sqlite3 new.db
主键和列类型将被保留。
发布于 2015-10-23 16:48:34
对于一次性操作,您可以使用.dump和.read。
转储来自old_db.sqlite的表my_table
c:\sqlite>sqlite3.exe old_db.sqlite
sqlite> .output mytable_dump.sql
sqlite> .dump my_table
sqlite> .quit
假设表不存在,将转储文件读取到new_db.sqlite中
c:\sqlite>sqlite3.exe new_db.sqlite
sqlite> .read mytable_dump.sql
现在,您已经克隆了表。要对整个数据库执行此操作,只需在.dump命令中省略表名。
额外的好处:数据库可以有不同的编码。
https://stackoverflow.com/questions/2359205
复制相似问题