SQLite中的IF语句:更新还是插入?

发布时间:2019-11-06 发布网站:大佬教程
大佬教程收集整理的这篇文章主要介绍了SQLite中的IF语句:更新还是插入?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我无法使用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(如果记录存在则更新,如果不存在则INSERT). Eric B.有一个很好的例子,说明如何在SQLite语法中使用SQLite中的“INSERT OR REPLACE”功能.基本上,你做的事情如下:

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

大佬总结

以上是大佬教程为你收集整理的SQLite中的IF语句:更新还是插入?全部内容,希望文章能够帮你解决SQLite中的IF语句:更新还是插入?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ群:277859234,请注明来意。