使用所有表值创建sqlite3转储文件

时间:2016-01-30 08:41:09

标签: sql database sqlite database-dump

我可以用

生成一个sqlite3转储文件
sqlite3 app.db .dump > app_dump.sql

但是,如果该数据库中有一行没有条目,则只在转储文件中省略。使用转储文件将数据读入另一个数据库时,这是一个问题。有没有办法强制转储文件在表中定义所有值?因此,如果没有条目,它只使用空字符串''或类似的东西? 谢谢 卡尔

1 个答案:

答案 0 :(得分:1)

.dump的输出始终包含所有表格行:

sqlite> create table t(x);
sqlite> insert into t values (null), (0), (''), (x'');
sqlite> select * from t;

0


sqlite> .dump
PRAGMA foreign_keys=OFF;
BEGIN TRANSACTION;
CREATE TABLE t(x);
INSERT INTO "t" VALUES(NULL);
INSERT INTO "t" VALUES(0);
INSERT INTO "t" VALUES('');
INSERT INTO "t" VALUES(X'');
COMMIT;