I have two MySQL tables, here's how they are structured:
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)
);
I would like to update the foo table to have the 开发者_如何学编程same values for field1 and field2 as the bar table. I've tried the following two queries, both of which run without error, but don't get me the results I want:
UPDATE foo LEFT JOIN bar ON foo.bar_id = bar.bar_id
SET foo.field1 = bar.field1 AND foo.field2 = bar.field2;
also
UPDATE foo,bar SET foo.field1 = bar.field1
AND foo.field2 = bar.field2 WHERE foo.bar_id = bar.bar_id
but neither work. what am I missing here?
I think maybe you have problems with AND; should be comma instead. This way I think you are updating foo.field1 to become (bar.field1 AND foo.field2 = bar.field2) (logical conjunction between non-zeroness of bar.field1 and equality of field2-s), and I'm pretty sure that's not what you meant. Didn't test though; might be wrong.
加载中,请稍侯......
精彩评论