Да
Дарья

Простой запрос в 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='Пупкин') );

Наталья Викторовна
Наталья Викторовна

Если ID Primary, то не получится поменять, на сколько я понял ты меняешь ID записи вместо остальных полей

Похожие вопросы
Проблема с запросом к БД - MySQL
Что не так в этом проклятущем MySQL запросе!?
php запрос к MySQL(SQL)
PHP запрос к MySQL: логическое "ИЛИ"
запрос к MySQL с использованием json_encode
Как сгруппировать данные в MySQL запросе?
запрос в mysql (update)
Помогите оптимизировать запрос MySQL
Запрос MYSQL
mysql запрос