好吧,所以我们有一个带有桌面设置的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
Run Code Online (Sandbox Code Playgroud)
而我希望它看起来像是
actualid | id| name
1 | 101| Bob
Run Code Online (Sandbox Code Playgroud)
插入或替换会给我一个actualid 2示例和我发现使用where子句设置的任何示例
INSERT INTO tblTest SELECT ..... WHERE.....
哪个不起作用,因为没有数据在表中(除非我犯了新手错误,我不是很擅长sqlite或一般sql).
CL.*_*CL. 10
INSERT OR IGNORE INTO tblTest (id, name) VALUES (101, 'Bob')
Run Code Online (Sandbox Code Playgroud)
(这需要id您已经拥有的列上的唯一索引.)
你可能想试试这个:
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')
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7015 次 |
| 最近记录: |