我有两个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
表,使field1
和field2
的值与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
但是没有工作。我在这里错过了什么?
答案 0 :(得分:1)
我想也许你有AND
的问题;应该是逗号而不是。这样我认为您正在将foo.field1
更新为(bar.field1 AND foo.field2 = bar.field2)
(bar.field1
的非人与field2
- s之间的逻辑关联),我很确定那不是你的意思。没试过;可能是错的。