2014-10-01 4 views
0

У меня есть две разные таблицыUPDATE сравнить с другой таблицей

Информация

------------------------ 
| no_ic_old | name | 
------------------------ 
| 111111111 | John  | 
------------------------ 

пользователь

------------------------------------- 
| no_ic_old | name |no_ic_new | 
-------------------------------------- 
| 111111111 | John  |222222222 | 
-------------------------------------- 

я хочу обновить информации таблицу так, чтобы она выглядела как

------------------------ 
| no_ic_old | name | 
------------------------ 
| 222222222 | John  | 
------------------------ 

есть ли какие-либо способы обновления этой таблицы с помощью mysql?

+0

Я немного запутался о 'name' колонке. Важно ли, чтобы значения столбца 'name' между двумя таблицами совпадали? Что мы знаем об уникальности столбца 'no_ic_old', как в таблице' user', так и в таблице 'info'? Некоторые операторы обновления, которые мы можем предложить, будут работать для этого конкретного примера, но они не обязательно будут «работать» в более общем случае. – spencer7593

ответ

1

Да. Вы хотите, update с join:

update info i join 
     user u 
     on u.no_ic_old = i.no_ic_old 
    set i.no_ic_old = u.no_ic_new; 
Смежные вопросы