我想使用mysqldump的输出来更新实时数据库中的条目.我不想先删除条目,简单的更新语句都没问题.有没有一种简单的方法将包含INSERT语句的mysqldump的输出转换为相应的UPDATE语句?
它似乎是一个基本功能,所以我确信有人创建了一个工具或想出了一种方法来快速完成它,所以人们不必一直为每个人编写自己的脚本来重新发明轮子.
编辑:我正在寻找一个通用的解决方案,而不是我必须手动枚举实际的表列.这是一个普遍的问题,所以我认为应该有一个独立于表的解决方案.
您可以将mysqldump数据还原到新的临时数据库,然后使用多表UPDATE语法进行更新.
UPDATE mydb.mytable AS dest JOIN tempdb.mytable AS origin USING (prim_key)
SET dest.col1 = origin.col1,
dest.col2 = origin.col2,
...
Run Code Online (Sandbox Code Playgroud)
然后删除临时数据库.
这是添加ON DUPLICATE KEY UPDATE子句的问题
http://dev.mysql.com/doc/refman/5.0/en/insert-on-duplicate.html
| 归档时间: |
|
| 查看次数: |
10312 次 |
| 最近记录: |