加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

sqlite – 仅在id不存在时插入

发布时间:2020-12-12 18:59:42 所属栏目:百科 来源:网络整理
导读:好吧,所以我们有一个带有桌面设置的phonegap应用程序 tblTest(actualid INTEGER PRIMARY KEY,id INTEGER,name TEXT) actualid是设备的唯一ID,id保存在服务器端数据库中.我们遇到了webservices返回重复记录的问题,而我们正在修复我想要在我们的sql中添加一些
好吧,所以我们有一个带有桌面设置的phonegap应用程序

tblTest(actualid INTEGER PRIMARY KEY,id INTEGER,name TEXT)

actualid是设备的唯一ID,id保存在服务器端数据库中.我们遇到了webservices返回重复记录的问题,而我们正在修复我想要在我们的sql中添加一些东西来防止重复添加(修复坏数据很痛苦).

我们当前的插入语句设置为

INSERT INTO tblTest(id,name)VALUES(101,’Bob’)

如果你运行两次数据库将最终看起来像

actualid |  id| name
       1 | 101|  Bob
       2 | 101|  Bob

而我希望它看起来像是

actualid |  id| name
       1 | 101|  Bob

插入或替换将在示例中给出一个actualid 2,我使用where子句找到的任何示例都设置为

INSERT INTO tblTest SELECT ….. WHERE …..

哪个不起作用,因为没有数据在表中(除非我犯了新手错误,我不是很擅长sqlite或一般sql).

解决方法

使用 INSERT OR IGNORE:

INSERT OR IGNORE INTO tblTest (id,name) VALUES (101,'Bob')

(这需要id列上的唯一索引,您已经拥有该索引.)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读