Обновление и добавление новой таблицы записей с объединением в MySQL - PullRequest
0 голосов
/ 10 июля 2019

У меня есть главная таблица, mytable, со столбцами id, a, b, c, d и Temp_TABLE со столбцами id, b, c

Я хочу обновить mytable со значениями в temp Temp_TABLE иесли записи не в mytable, вставьте их.

Пока у меня есть следующее:

UPDATE mytable  
JOIN  
Temp_TABLE  
ON mytable.profileId = Temp_TABLE.profileId 
SET mytable.b = Temp_TABLE.b
    mytable.c = Temp_TABLE.c

Но это работает только для первой части.

Как мне вставить записи из Temp_TABLE в mytable

1 Ответ

1 голос
/ 10 июля 2019

В MySQL используйте insert on duplicate key update. Но сначала вы должны определить критерии для распознавания дубликатов. Для этого вам нужен уникальный индекс (или ограничение):

create unique index unq_mytable_profileId on mytable(profileid);

Тогда:

insert into mytable (profileid, b, c)
    select tt.profileid, tt.b, tt.c
    from temp_table tt
    on duplicate key update b = values(b), c = values(c);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...