MySQL UPDATE问题

时间:2010-04-23 04:30:17

标签: mysql sql-update

我知道以下MySQL代码不正确可以帮助我修复此代码以使用这两个表我试图从idlearned_skills从{{{{}}获取skill_id 1}} users_skills

这是MySQL代码。

AND skill_id = id

这是我得到的错误

SELECT learned_skills.*, users_skills.* 
UPDATE learned_skills
SET skill = '$skill', experience = '$experience', years = '$years'
WHERE user_id = '$user_id'
AND skill_id = id

3 个答案:

答案 0 :(得分:1)

您可以使用UPDATE语法执行涵盖多个的JOIN次操作,如下例所示:

UPDATE  learned_skills ls
JOIN    user_skills us ON (us.skill_id = ls.id)
SET     skill = '$skill',
        experience = '$experience', 
        years = '$years'
WHERE   us.user_id = '$user_id';

答案 1 :(得分:1)

问题是第一行的select语句。将其移除并单独运行,看看是否有效。此外,以Daniel Vassalo建议的方式在加入中限定两个表。否则它不会知道从哪里获得一半的列

答案 2 :(得分:0)

查看UPDATE Syntax并查看第一个用户评论以获取帮助。