Mysql 使用子查询更新表
正如你所看到的,我想做的是: [1] 在表论坛qa中获取与Mysql 使用子查询更新表,mysql,sql,subquery,sql-update,Mysql,Sql,Subquery,Sql Update,正如你所看到的,我想做的是: [1] 在表论坛qa中获取与$toggled匹配的记录的作者id [2] 更新用户档案中的声誉,其中用户id匹配作者id UPDATE user_profiles (SELECT forum_qa_author_id AS author_id FROM forum_qa WHERE forum_qa_id = $toggled) AS f SET user_profiles.reputation = u
$toggled
匹配的记录的作者id
[2] 更新用户档案中的声誉,其中用户id匹配作者id
UPDATE user_profiles
(SELECT forum_qa_author_id AS author_id
FROM forum_qa
WHERE forum_qa_id = $toggled) AS f
SET user_profiles.reputation = user_profiles.reputation - 15
WHERE user_profiles.user_id = f.author_id
这给了我一个1064语法错误,位于(选择…
)
知道我做错了什么吗
谢谢你的帮助!试试:
UPDATE user_profiles
SET user_profiles.reputation = user_profiles.reputation - 15
WHERE user_profiles.user_id = (SELECT forum_qa_author_id AS author_id
FROM forum_qa
WHERE forum_qa_id = $toggled)
尝试:
子查询必须位于“SET”之后。在这种情况下,它可能不一定需要子查询 试试看
UPDATE user_profiles
SET user_profiles.reputation = user_profiles.reputation - 15
FROM user_profiles
JOIN forum_qa f ON user_profiles.user_id = f.author_id
AND forum_qa_id = $toggled
子查询必须位于“SET”之后。在这种情况下,它可能不一定需要子查询 试试看
UPDATE user_profiles
SET user_profiles.reputation = user_profiles.reputation - 15
FROM user_profiles
JOIN forum_qa f ON user_profiles.user_id = f.author_id
AND forum_qa_id = $toggled
我刚刚意识到您正在使用MySQL。这是针对MS SQL的,我不确定您是否可以在MySQL中以完全相同的方式使用它,但希望这会有一点帮助
我刚刚意识到您正在使用MySQL。这是针对MS SQL的,我不确定您是否可以在MySQL中以完全相同的方式使用它,但希望这会有一点帮助