MySQL 在表之间移动数据,如果存在更新

标签 mysql

我试图在 MYSQL 中从另一个表更新一个表,我做了:

INSERT INTO new_table (id, last_name, first_name, etc) 
SELECT (id, last_name, first_name, etc) FROM uploaded_tmp
ON DUPLICATE KEY UPDATE

如何指示用较新的值更新值?

最佳答案

有一个很好的功能叫做REPLACE

REPLACE INTO new_table (id, last_name, first_name, etc) 
SELECT (id, last_name, first_name, etc) FROM uploaded_tmp

它的行为就像 INSERT,但如果出现重复键(PRIMARY 或 UNIQUE),旧记录将被删除并替换为新值。

有兴趣吗?在 http://dev.mysql.com/doc/refman/5.7/en/replace.html 上阅读更多内容

关于MySQL 在表之间移动数据,如果存在更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26712035/

相关文章:

php - 回显计数会返回单词 Array 而不是数字

mySQL:当值x = ' '然后值y = 6时插入选择

php - 无法将值添加到 phpmyAdmin 中的特定表

c# - 一个常见的 "Attachments"表如何链接到 Entity Framework Core 中的多个表?

mysql - 我应该增加 MySQL 中的 sort_buffer_size 吗?

php - 用户的排名显示正确,但当我尝试显示国家排名时却显示不正确

php - 在第二个 while 循环内进行 while 循环以获取子类别

javascript - NULL 与 MySQL、PHP、JSON 和 JavaScript

mysql - SQL查询获取两个数字之间的数据

php - 使用 php、mysql 和 vuejs 动态创建文件的下载链接