我喜欢
UPDATE或REPLACE someTable SET a = 1,b = 2 WHERE c = 3
我希望如果它不存在,它将被插入到DB中。但没有任何反应,我没有错误。我如何插入数据,如果它已经存在则替换它并使用where的条件(而不是替换唯一ID的BC)
答案 0 :(得分:17)
小心,INSERT或REPLACE没有“更新或替换”的预期行为。
如果没有设置所有fieds的值,INSERT OR REPLACE将用默认值替换它们,而使用UPDATE时,您希望保留旧值。
请在此处查看我的答案以获取示例:SQLite - UPSERT *not* INSERT or REPLACE
答案 1 :(得分:10)
尝试
INSERT OR REPLACE INTO [someTable] (a,b) VALUES(1,2) WHERE c = '3'