Скажем, например:
У меня есть две таблицы: old_data и new_data .
Оба old_data и new_data имеют один столбец с именем this_is_col .
Оба old_data и new_data имеют различные (сотни) строк дат (2010-02-06, 2010-01-09, 2007-06-02 и т. Д.).Обе таблицы не обязательно имеют одинаковые даты, но они имеют одинаковый формат.
Поля обеих таблиц - это различные целые числа.
Моя задача:
Скопировать поля из old_data в new_data .
Если в обеих таблицах существует дата, поле в new_data будет заменено.
Если дата не существует в new_data , то будет добавлена правильная строка и поле будет скопировано.
Вот как далеко я зашёл:
Создать временный столбец:
ALTER TABLE `new_data` ADD `tempColumn` TEXT NULL;
Копировать данные из old_data :
INSERT INTO `new_data` (`tempColumn`) SELECT `this_is_col` FROM `old_data`;
Объединить временный столбец и new_data . this_is_col .(Я на самом деле не понял этого шага, так как не дошел до этого).
MERGE? `tempColumn` `this_is_col`;
Удалить временную таблицу
ALTER TABLE `new_data` DROP `tempColumn`;
После выполнения второго действия (передача данных во временный столбец) Я получаю эту ошибку:
#1062 - Duplicate entry '0000-00-00' for key 1
И вот я застрял.Любая помощь будет оценена.Я использую MySQL и phpMyAdmin для проверки команд SQL.