MYSQL:使用另一个相关表中的值更新表

时间:2010-10-05 18:41:54

标签: mysql join sql-update

我有两个MySQL表,以下是它们的结构:

table foo(
 foo_id varchar(32),
 field1 varchar(32),
 field2 varchar(32),
 bar_id varchar(32) 
);

table bar(
  bar_id varchar(32),
  field1 varchar(32),
  field2 varchar(32)
);

我想更新foo表,使field1field2的值与bar表的值相同。我已经尝试了以下两个查询,这两个查询都运行没有错误,但是没有得到我想要的结果:

UPDATE foo LEFT JOIN bar ON foo.bar_id = bar.bar_id 
SET foo.field1 = bar.field1 AND foo.field2 = bar.field2;

UPDATE foo,bar SET foo.field1 = bar.field1 
AND foo.field2 = bar.field2 WHERE foo.bar_id = bar.bar_id
但是没有工作。我在这里错过了什么?

1 个答案:

答案 0 :(得分:1)

我想也许你有AND的问题;应该是逗号而不是。这样我认为您正在将foo.field1更新为(bar.field1 AND foo.field2 = bar.field2)bar.field1的非人与field2 - s之间的逻辑关联),我很确定那不是你的意思。没试过;可能是错的。