sqlite – 如何让INSERT或IGNORE工作
发布时间:2020-12-12 19:17:33 所属栏目:百科 来源:网络整理
导读:我试图插入数据到表中。如果列没有数据,我想插入行 – 不管其他列。 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
我试图插入数据到表中。如果列没有数据,我想插入行 – 不管其他列。
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'); 有了上面的代码段,我最终得到3行,而不是我想象的1。如果重要的是实际的sql是在INSTEAD OF INSERT触发器内部发生的,这只是一个简单的测试用例。 更换CREATE TABLE t ( id INTEGER PRIMARY KEY,other INT ); 与 CREATE TABLE t ( id INTEGER PRIMARY KEY,name VARCHAR UNIQUE,other INT ); 然后你会得到 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| (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |