我对如何处理更新sqlite中存在的行的情况有点困惑,或者如果它不存在,就插入它。对于这个问题的每一个答案,我似乎都看到了不同的解决方案。什么是最有效或最简单的方法? 编辑:我的意思是sqlite,对不起插入或更新混淆
Q
插入或更新混淆
3
A
回答
0
如果EXISTS在这里可能会有所帮助,如果条件成立为true,或者如果为false,则更新。
3
SQLite的:
CREATE TABLE foo (bar INTEGER UNIQUE, baz INTEGER)
INSERT INTO foo (bar,baz) VALUES (1, 2)
这应该引起IntegrityError:列巴是不是唯一的:
INSERT INTO foo (bar,baz) VALUES (1,3)
但使用SQLite你做INSERT OR REPLACE可以upsert:
INSERT OR REPLACE INTO foo (bar,baz) VALUES (1,3)
代替inser婷一个新行,因为与酒吧等于1的行已经存在,巴兹的值更新为3
对于MySQL:
在表上创建唯一索引。 然后使用
INSERT INTO table (...) values (...) ON DUPLICATE KEY UPDATE field = ...
例如:
CREATE UNIQUE INDEX mytable_index ON mytable (field1,field2)
INSERT INTO mytable (field1,field2,field3) values (val1,val2,val3)
ON DUPLICATE KEY UPDATE field3 = val3
这要求(FIELD1,FIELD2)在mytable的对是唯一的。 然后当你插入时,你会得到一个新的行,或者,如果(val1,val2)已经存在于mytable
中,则field3的值将被更新。
相关问题
- 1. SQLServer2008:混淆或混淆
- 2. 混淆的插入语句
- 3. R插入符号/混淆矩阵
- 4. Hive加入或子查询混淆
- 5. XSD混淆:导入和/或包含
- 6. libGDX新手混淆
- 7. SproutCore新手混淆
- 8. iPhone:Sqlite更新或插入行
- 9. 插入或更新SQLite中
- 10. 更新或插入MySQL Python
- 11. 更新或插入sqlite3
- 12. 插入或更新mysql表
- 13. PHP插入或更新表
- 14. SVN导入混淆
- 15. GPA输入混淆
- 16. Sqlite加入混淆
- 17. PyDAQmx导入混淆
- 18. YapDatabase排序混淆编辑更新
- 19. 核心数据更新方法混淆
- 20. 网页混淆并修复时更新
- 21. Actionscript - 混淆工具或插件或脚本?
- 22. SQL更新/更改或插入?
- 23. 哪个更快?插入或更新?
- 24. 更多资源混淆
- 25. 水壶PDI:更好的查找和插入更新或插入更新+查找
- 26. 导入混淆熊猫
- 27. 导入包裹混淆
- 28. Grails抓取:“加入”混淆
- 29. Java输入/输出混淆
- 30. 可重入代码混淆
老鼠,我的意思是SQLite – Vortol 2010-10-30 20:24:22
我喜欢单词“UPSERT”,他们应该把它作为一个标准的SQL命令。 UPSERT INTO foo ... – CashCow 2011-02-09 15:23:06