2011-10-12 87 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 

本來存在tbl1沒有列positionId。現在將使用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