gpt4 book ai didi

sql - SQLite 中的 IF 语句 : update or insert?

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

我不能用 SQLite 运行这个查询

if 0<(select COUNT(*) from Repetition where (Word='behnam' and Topic='mine'))
begin
update Repetition set Counts=1+ (select Counts from Repetition where (Word='behnam' and Topic='mine'))
end
else
begin
insert Repetition(Word,Topic,Counts)values('behnam','mine',1)
end

它说“IF附近的语法错误”我该如何解决这个问题

最佳答案

SQLite 没有 IF 语句(see the list of supported queries)

Insetad,查看 ERIC B 对另一个 thread 的建议.您实际上正在考虑执行 UPSERT(如果记录存在则更新,如果不存在则插入)。 Eric B. 有一个很好的例子,说明如何使用 SQLite 中的“INSERT OR REPLACE”功能在 SQLite 语法中执行此操作。基本上,你会做类似的事情:

INSERT OR REPLACE INTO Repetition (Word, Topic, Counts)    
VALUES ( 'behnam', 'mine',
coalesce((select Counts + 1 from Repetition
where Word = 'behnam', AND Topic = 'mine)
,1)
)

关于sql - SQLite 中的 IF 语句 : update or insert?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7861663/

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