我正在尝试将数据插入表中.如果列没有数据,我想插入行 - 无论其他列如何.
CREATE TABLE t (
id INTEGER PRIMARY KEY,
name VARCHAR,
other INT
);
INSERT OR IGNORE INTO t (name) VALUES ('a');
INSERT OR IGNORE INTO t (name) VALUES ('a');
INSERT OR IGNORE INTO t (name) VALUES ('a');
Run Code Online (Sandbox Code Playgroud)
根据上面的代码片段,我最终会得到3行,而不是我想象的那样.如果重要的是实际的sql发生在INSTEAD OF INSERT
触发器内部,这只是一个简单的测试用例.
wil*_*ove 93
更换
CREATE TABLE t (
id INTEGER PRIMARY KEY,
name VARCHAR,
other INT
);
Run Code Online (Sandbox Code Playgroud)
同
CREATE TABLE t (
id INTEGER PRIMARY KEY,
name VARCHAR UNIQUE,
other INT
);
Run Code Online (Sandbox Code Playgroud)
然后你会得到
sqlite> CREATE TABLE t (
...> id INTEGER PRIMARY KEY,
...> name VARCHAR UNIQUE,
...> other INT
...> );
sqlite> INSERT OR IGNORE INTO t (name) VALUES ('a');
sqlite> INSERT OR IGNORE INTO t (name) VALUES ('a');
sqlite> INSERT OR IGNORE INTO t (name) VALUES ('a');
sqlite> select * from t ;
1|a|
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
69876 次 |
最近记录: |