当前位置:  开发笔记 > 前端 > 正文

sqlite,UPDATE或REPLACE

如何解决《sqlite,UPDATE或REPLACE》经验,为你挑选了2个好方法。

我做的事情

更新或替换someTable SET a = 1,b = 2 WHERE c = 3

我希望如果它不存在它将被插入到DB中.但没有任何反应,我没有错误.我如何插入数据,如果它已经存在则替换它并使用where的条件(而不是替换唯一ID的BC)



1> gregschlom..:

小心,INSERT或REPLACE没有"更新或替换"的预期行为.

如果没有为所有fied设置值,INSERT OR REPLACE将使用默认值替换它们,而使用UPDATE时,您希望保留旧值.

请参阅我的答案以获取示例:SQLite - UPSERT*not*INSERT或REPLACE



2> Sam Saffron..:

尝试

INSERT OR REPLACE INTO [someTable] (a,b) VALUES(1,2) WHERE c = '3'


此语法无效.考虑使用https://www.sqlite.org/lang_insert.html进行插入,并使用https://www.sqlite.org/lang_select.html进行选择.在值(...)之后不能添加where子句.
推荐阅读
跟我搞对象吧
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有