我无法使用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(如果记录存在,则为UPSdate;如果不存在,则为INSERT)。 Eric B.有一个很好的示例,说明了如何使用SQLite中的“插入或替换”功能以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)
)