在这个问题上,我尝试过一个似乎适用于其他人的解决方案:
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
我不确定我的语法是什么问题。我很累,也许只是我的眼睛和我一起玩。谢谢你的帮助!
答案 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
但我认为这不是你想要的。