Назад | Перейти на главную страницу

Последовательные дампы 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')

Однако это будет противоречить тому, что уже есть. Я хочу, чтобы он перезаписал то, что уже есть. Мысли?

Вы можете добавить условие «при обновлении дублирующего ключа» в операторы вставки:

http://dev.mysql.com/doc/refman/5.0/en/insert-on-duplicate.html