在SQLite2中插入默认值

时间:2013-06-13 07:45:54

标签: sqlite

如何在不知道表格的任何列并使用默认值的情况下创建现在的行?

在sqlite3中,我只是这样做:

sqlite> CREATE TABLE t ("id" INTEGER PRIMARY KEY, "text" TEXT DEFAULT "hello world");
sqlite> INSERT INTO t DEFAULT VALUES;
sqlite> SELECT * FROM t;
1|hello world

但是在sqlite2.8.17中,我得到了:

sqlite> INSERT INTO t DEFAULT VALUES;
SQL error near 'DEFAULT': Syntax error.

有没有办法在sqlite2中正确执行此操作,还是需要在insert语句中手动赋值?

1 个答案:

答案 0 :(得分:5)

您必须至少指定一个值;所有其他人将获得他们的默认值。

指定rowid时,NULL会自动获取一个值,因此您可以使用该值:

INSERT INTO t(id) VALUES(NULL);