我希望每晚进行 MySQL 转储。我已经有一个解决方案,可以输出数据的差异,但我需要一种方法将数据重新导入 MySQL,这样 MySQL 中的数据就会更新,而不是如果数据已经存在则插入。例如,这是一个示例表:
Id | User | Account_Value | Created_At | Updated_At
1 | Bob | $100 | 2009-01-01 | 2009-01-01
2 | Ed | $200 | 2009-01-01 | 2009-01-01
第二天,表格如下所示:
Id | User | Account_Value | Created_At | Updated_At
1 | Bob | $50 | 2009-01-01 | 2009-01-02
2 | Ed | $200 | 2009-01-01 | 2009-01-01
当我在第二天进行数据导出时,它会正确输出类似以下内容:
INSERT into ACCOUNTS VALUES (1,'Bob', '$50', '2009-01-01', '2009-01-02')
但是,这会与已有的内容发生冲突。我想要的是让它覆盖已有的内容。您觉得呢?
答案1
您可以将“on duplicate key update”子句添加到插入语句中:
http://dev.mysql.com/doc/refman/5.0/en/insert-on-duplicate.html