如何在不知道表格的任何列并使用默认值的情况下创建现在的行?
在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语句中手动赋值?
答案 0 :(得分:5)
您必须至少指定一个值;所有其他人将获得他们的默认值。
指定rowid
时,NULL
会自动获取一个值,因此您可以使用该值:
INSERT INTO t(id) VALUES(NULL);