MYSQL: обновить таблицу значениями из другой связанной таблицы - PullRequest
0 голосов
/ 05 октября 2010

У меня есть две таблицы 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

но ни одна не работает. что мне здесь не хватает?

1 Ответ

1 голос
/ 05 октября 2010

Я думаю, может быть, у вас проблемы с AND;вместо запятойТаким образом, я думаю, что вы обновляете foo.field1, чтобы стать (bar.field1 AND foo.field2 = bar.field2) (логическое соединение между ненулевостью bar.field1 и равенством field2 -s), и я почти уверен, что вы не это имели в виду.Хотя не проверял;может быть не так.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...