2012-08-09 63 views
0

我有2個表,我需要使用table1中的列更新table2中的列。 table2.id2是空的,我必須使用table1.id填充它。另外,你要知道,我有2列,可以互相這些表(table1.codetable2.code)的匹配。這是我的SQL:從另一個表實體更新MySQL表列

UPDATE table2 SET table2.id2 = table1.id WHERE table2.code = table1.code; 

這是查詢嗎?我收到這個錯誤,但我確定table1.code存在。

[錯誤] 1054 - 在 'where子句'

回答

0

未知列 'table1.code' 不這樣的。

藉此:

UPDATE table2 SET id2 = (SELECT id from table1 WHERE code = 'somecode') WHERE code = 'somecode'; 
+0

我不知道在表中的記錄是什麼'somecode'加入兩個表。我必須爲大約200個不同值的記錄做'somecode'。也許我需要一個循環,但我不確定。此外,我在MySQL中編寫循環的能力很弱 – 2012-08-09 15:00:31

1

假設你可以使用代碼

UPDATE T2 
    JOIN T1 ON T1.CODE = T2.CODE 
SET 
    T2.ID2 = T1.ID 
WHERE 
    T2.ID2 = '';