1

テーブルの列を知らずにデフォルト値を使用せずに現在の行を作成する方法は?

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 でこれを正しく行う方法はありますか、または挿入ステートメントで値を手動で指定する必要がありますか?

4

1 に答える 1

5

少なくとも 1 つの値を指定する必要があります。他のすべてはデフォルト値を取得します。

を指定すると、はrowid自動的に値を取得するNULLので、その値を使用できます。

INSERT INTO t(id) VALUES(NULL);
于 2013-06-13T08:53:49.477 に答える