好吧,我们有一个带有
表设置的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)。
答案 0 :(得分:10)
答案 1 :(得分:5)
您可能想尝试一下:
INSERT INTO tblTest
(id, name)
SELECT 101 as id, 'Bob' as name
FROM tblTest
WHERE NOT EXISTS(SELECT * FROM tblTest WHERE id = 101 and name = 'Bob')