MySQL从一个表更新到另一个表,条件不起作用?

时间:2011-08-04 03:02:34

标签: mysql join

在这个问题上,我尝试过一个似乎适用于其他人的解决方案:

Update table a from table b where (conditions) 我似乎无法让它工作,MySql给我一个语法错误。

我有两个表,我需要将一个表中的列更新为两个表中id匹配的另一列的值。

  

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

我不确定我的语法是什么问题。我很累,也许只是我的眼睛和我一起玩。谢谢你的帮助!

3 个答案:

答案 0 :(得分:17)

尝试使用以下语法:

UPDATE video_data, video 
SET video_data.date_timestamp = video.date_timestamp
WHERE  video_data.video_id = video.video_id

答案 1 :(得分:0)

UPDATE video_data, video SET video_data.date_timestamp = video.date_timestamp
WHERE video_data.video_id = video.video_id

答案 2 :(得分:0)

试试这个:

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

但我认为这不是你想要的。