【发布时间】:2009-09-28 19:22:49
【问题描述】:
有时,如果我想将记录从一个表快速复制到另一个表(具有相同的结构),我会使用这样的查询:
INSERT INTO table2 SELECT * FROM table1 WHERE id = SOME_VALUE
如何在此语句中添加 ON DUPLICATE KEY UPDATE?我试过这个:
INSERT INTO SELECT * FROM table1 WHERE id = 1 重复键更新选择 * FROM table1 WHERE id = 1
但是我得到一个错误。是否可以在不单独列出查询中的每一列的情况下完成上述查询?
附:是的,我意识到拥有多个具有相同结构的表并不是一个好习惯,但有时您无法控制工作场所中的所有内容!
【问题讨论】:
-
请显示表格的结构(或其相关部分,特别是不能重复的键的定义),以及可能的行示例。