2012-08-09 66 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 = '';