Простой запрос в MySQL
Требуется присвоить значение полю одной таблицы из поля другой таблицы, на основании данных из обоих таблиц.
Пишу запрос:
UPDATE таблица2
SET id = таблица1.id
WHERE ( (field='Пупкина') AND (таблица1.field='Пупкин') );
MySQL на это ругается. Как я понимаю ошибка в синтаксисе.
Как правильно это сделать?
//____________________________________________________
Вот код создания этих таблиц:
CREATE TABLE таблица1
( id NOT NULL PRIMARY KEY AUTO_INCREMENT,
field char(30)
);
CREATE TABLE таблица2
( id int,
field char(30)
);
Всё, разобрался - в секции where не была видна "таблица1".
Этот запрос выполняется так, как нужно:
UPDATE таблица2, таблица1
SET id = таблица1.id
WHERE ( (field='Пупкина') AND (таблица1.field='Пупкин') );