2011-10-12 2 views
1

У HiI есть две таблицы.пакетное обновление данных таблицы базы данных в Mysql

tbl1

id    int(11)  NOT NULL 

positionName varchar(20) NULL 

positionId  int(11)  NULL 

tbl2

positionId   int(11)  NOT NULL 

positionName  varchar(20) NULL 

Первоначально нет столбца positionId в tbl1. Теперь будет использоваться positionId вместо positionName для tbl1.

Проблема в том, что в обеих таблицах уже хранятся более тысячи данных.

Итак, как я могу успешно и быстро ссылаться на правильный positionId для каждой информации tbl1, в которой positionName был использован?

Возможно ли периодическое обновление?

Есть ли в любом случае, что я могу выполнять все с помощью SQL-браузера? Если возможно, я не хочу использовать кодирование.

Спасибо заранее.

ответ

1

Вы ищете несколько столов UPDATE, вот так?

UPDATE tbl1 
JOIN tbl2 ON tbl1.positionName = tbl2.positionName 
SET tbl1.positionId = tbl2.positionId 
WHERE tbl1.positionId IS NULL 

Я предполагаю, что positionName уникален в tbl2, но если это не так, вы должны рассмотреть, как вы хотите, чтобы справиться с этим.

+0

NICE решение. Большое спасибо. работает очень хорошо. Да 'positionName' уникален в' tbl2' – kitokid

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