现在我有一个带有自动递增 ID 号、名称和定义的表,我正在使用另一个表中的值更新表
INSERT INTO words(id, word, definition) SELECT id, word, definition FROM temp
ON DUPLICATE KEY UPDATE words.word = temp.word, words.definition=temp.definition;
表 temp 与我正在使用的表具有相同的列布局,并且它工作正常,除非我从 temp 中间删除一个条目然后更新我的主表。例如,
temp
id word definition
1 bob is a cat
2 sam is a dog
3 doug is a monk
4 croe is a bird
table main 设置为然后我从 temp 中删除第 2 行
temp
id word definition
1 bob is a cat
2 doug is a monk
3 croe is a bird
然后更新主表
main
id word definition
1 bob is a cat
2 sam is a dog
3 croe is a bird
4 croe is a bird
因为 temp 现在只有 3 行,但主 HAD 4,第 4 行没有被删除。我试图通过将 word 设为唯一列来解决此问题,但现在我收到错误消息,即关键字“word”存在重复条目。那么我该如何解决呢?