顺序 MySQL 转储并覆盖更新的数据

顺序 MySQL 转储并覆盖更新的数据

我希望每晚进行 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

相关内容