我将一些数据插入表中,但偶尔会与表中的其他数据(即它具有相同的主键)冲突。
我希望能够覆盖这些数据,如果它在那里,而不是让MySQL发送一条错误消息,说他们是一个重复的主键。我知道我可以在手边删除这些值,但这需要一些大的查询。
是否有可能以某种方式覆盖这些,并禁止任何警告,或者我被迫删除这些值。插入到mysql表中并覆盖任何当前数据
5
A
回答
13
只是一个小的cheatsheet
Mysql的有3级不同的场景在处理主键重复:如果你想
...
- 什么也不做 - 使用INSERT IGNORE
- 删除现有的并创建新的 - 使用REPLACE INTO
- 更新现有 - 使用ON DUPLICATE UPDATE
0
您可以使用替换声明而不是插入。 看看http://dev.mysql.com/doc/refman/5.1/en/replace.html
2
你可以在MySQL中使用REPLACE INTO来做到这一点。
REPLACE INTO table
SET name = 'Treffynnon'
1
3
MySQL有一个 “INSERT ... ON DUPLICATE KEY UPDATE” 命令。 你可以在这里找到:http://dev.mysql.com/doc/refman/5.0/en/insert-on-duplicate.html
INSERT INTO `table` VALUES ('a', 'b') ON DUPLICATE KEY UPDATE `field1`='a', `field2`='b'
+2
'set field = VALUES(field)'是一个更好的选择 - 节省您在查询中使用数据两次。 values()函数会将它从语句的插入部分拉出来,因此您的数据只会进入查询字符串一次。 –
相关问题
- 1. 覆盖mysql表数据
- 2. 在当前表格中插入数据并更新另一个表格MySQL
- 3. 覆盖MySQL表中的数据
- 4. 插入数据到MYSQL表
- 5. MySQL数据插入到表
- 6. Hive插入覆盖表
- 7. 检索当前UserId并插入表中?
- 8. 轻松地插入数据到任何位置的流没有覆盖?
- 9. jQuery覆盖:关闭当前覆盖并打开另一个?
- 10. JSM导入来覆盖当前对象
- 11. 中提取数据,并插入到表
- 12. 如何使插入到表中并覆盖如果不是空的?
- 13. 获取excel数据并插入到mysql表中
- 14. 插入查询不会插入数据到mysql数据库表
- 15. 合并覆盖数据
- 16. 如何在MySQL表中插入数据?
- 17. 覆盖表前缀
- 18. 如何插入表单数据到MySQL数据库表
- 19. 随机数组并插入到数据库中;在当前之前插入元素
- 20. 插入值到MySQL数据库并检索它们插入到另一个表
- 21. 插入合并数组数据到MySQL表
- 22. 将数据从动态文本字段插入到mysql中并将数据插入到两个表中。
- 23. Mongoose $ pushAll覆盖当前数组对象
- 24. 当前上下文中的测试无覆盖率数据
- 25. 插入JSON数据到MySQL表
- 26. 将数据插入到MySQL表用java
- 27. MySql并在链接表中插入数据,如何?
- 28. 当复选框被选中时,如何将表单数据插入到mysql中?
- 29. PHP将数组插入到多维数组中被覆盖
- 30. Asp.net当插入数据库没有发生任何插入
我喜欢无耻的自我推销。 –