Шаг 1: Удалить из db2.t1, если column1 существует в column1 в db1.t1
Шаг 2: Вставить все из db1.t1 в db2.t1
Похоже, вы пытаетесь объединить данные из db1.t1
в db2.t1
.Если это так, то одним из решений будет использование оператора mysql INSERT ... ON DUPLICATE KEY UPDATE
.Это позволяет вам иметь дело с дубликатами при выполнении запроса INSERT
: в вашем случае кажется, что вы можете обновить все столбцы исходной таблицы.
Сначала это сработает, если только column1
не являетсяPRIMARY KEY
, вам нужно ограничение UNIQUE
для column1
на целевой таблице (в вашем случае лучше добавить его и в исходную таблицу):
ALTER TABLE db2.t1 ADD CONSTRAINT t1_bk UNIQUE (column1);
Тогда:
INSERT INTO db2.t1 t_target
SELECT t_source.* FROM db1.t1 t_source
ON DUPLICATE KEY UPDATE
t_target.column2 = t_source.column2,
t_target.column3 = t_source.column3,
...
;