【发布时间】:2012-07-23 13:32:28
【问题描述】:
我在不同的数据库中有两个相似的表,我想从另一个插入一个。同时我想确保每次 mySql 遇到“重复 id”错误时,它都会在新表的底部插入行并分配一个新的唯一 id。我已经尝试过:INSERT...SELECT...ON DUPLICATE KEY UPDATE
但是如果它找到“重复键”而不是更新前一行,我找不到让它插入新行的方法。
【问题讨论】:
-
“键”是自增值吗?如果是这样,我可能会为您提供解决方案。试试 'INSERT INTO
table2SELECT NULL, col1, col2, col3 FROM table1' 我手头没有确切的语法,但它应该可以这样工作。 -
是的,“键”是一个自动增量字段。谢谢,我试试这个。
-
不客气。很高兴听到你让它工作:)
-
@ATaylor 我试过你的代码......它工作了:D 我认为你应该看看 eggyal 想出了什么#cleanCode。谢谢!
-
很高兴听到这个消息。我也将其作为常规答案发布,但当然 eggyval 的答案要好得多。您可能想给他“正确答案”的状态。 ;)
标签: mysql insert insert-select