Обновление MySQL из одной таблицы в другую с условием не работает? - PullRequest
5 голосов
/ 04 августа 2011

Я пробовал решение, которое, кажется, работает для кого-то другого по этому вопросу:

Обновите таблицу a из таблицы b, где (условия) Не могу заставить ее работать,MySql дает мне синтаксическую ошибку.

У меня есть две таблицы, и мне нужно обновить столбец в одной таблице до значения другого столбца, где идентификатор совпадает в обеих таблицах.

ОБНОВЛЕНИЕ video_data SET video_data.date_timestamp = video.date_timestamp FROM video_data ПРИСОЕДИНЯЙТЕСЬ к видео ON video_data.video_id = video.video_id

Я не уверен, что проблема в моем синтаксисе.Я очень устал и, возможно, это просто мои глаза играют со мной.Спасибо за помощь!

Ответы [ 3 ]

17 голосов
/ 04 августа 2011

Попробуйте этот синтаксис:

UPDATE video_data, video 
SET video_data.date_timestamp = video.date_timestamp
WHERE  video_data.video_id = video.video_id
0 голосов
/ 04 августа 2011

Попробуйте это:

UPDATE video_data SET date_timestamp = (SELECT video.date_timestamp FROM video WHERE  video.video_id = video_data.video_id)

Хотя ошибка в вашем фактическом запросе просто в том, что вы пропустили «SELECT»

UPDATE video_data SET video_data.date_timestamp = SELECT video.date_timestamp FROM video_data JOIN video ON video_data.video_id = video.video_id

Но я не думаю, что это то, что выхочу, чтобы это было.

0 голосов
/ 04 августа 2011
UPDATE video_data, video SET video_data.date_timestamp = video.date_timestamp
WHERE video_data.video_id = video.video_id
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...