当两个字段匹配时,MySQL查询使用另一个字段的数据更新字段
问题描述:
我需要每次更新表中另一个字段的内容时,使用表中另一个字段的内容更新表中某个数据字段的内容, 配对。我一直在尝试这种语法,但我不能让它正常工作,而不会给我一个错误。当两个字段匹配时,MySQL查询使用另一个字段的数据更新字段
UPDATE table1
SET field1 = table2.field1
FROM Table1,Table2
WHERE Table1.entry = Table2.entry
答
update ... from
是sql server的语法。在MySQL中你可以直接使用多张表:
update
table1 t1
join table2 t2 on t2.field = t1.field
set
t1.field1 = t2.matchingfield
where
t1.whatever = t2.whatever
全部是在MySQL的详细更新reference page。
FROM子句应该包含表名,而不是字段名。 – 2010-06-19 11:25:06
是否保证每个'field2.entry'都有一个可能的'table2.field1'? – 2010-06-19 11:25:42
从Table1中,Table2是正确的,我的部分是错字,并且没有每个field2.entry通常只有一个对应的field1值,但它可能有更多,在这种情况下,我并不在乎它复制哪个值。 – Joe 2010-06-19 11:30:00