2016-12-05 2 views
0

что с этим вопросом?mysql обновление из другой таблицы, если поля не равны

update TA,TB 
set TA.change = 1,TA.value = TB.value 
where 
TA.name = TB.name and TA.value <> TB.value 

Я хочу обновить TA от туберкулеза, когда изменение значения в ТБ

+0

Что проблема у Вас есть? –

+0

имя uniqe, а значение не равно NULL. Я хочу обновить строки с тем же именем и разными значениями, но запрос не делает это – Ali

ответ

0

Ваш запрос в порядке. Я хотел бы написать его с явным join:

update TA join 
     TB 
     on TA.name = TB.name 
    set TA.change = 1, 
     TA.value = TB.value 
where TA.value <> TB.value; 

Вы, возможно, потребуется принять NULL значения во внимание:

update TA join 
     TB 
     on TA.name = TB.name 
    set TA.change = 1, 
     TA.value = TB.value 
where not (TA.value <=> TB.value); 
+0

спасибо, но он дает мне ошибку из-за «on» и без нее, пока не работает! – Ali

Смежные вопросы