gpt4 book ai didi

sqlite - 如何让 INSERT OR IGNORE 工作

转载 作者:IT王子 更新时间:2023-10-29 06:17:01 25 4
gpt4 key购买 nike

我正在尝试将数据插入表中。如果该列还没有数据,我想插入该行 - 无论其他列如何。

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,
name VARCHAR,
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|

关于sqlite - 如何让 INSERT OR IGNORE 工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12105198/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com