id IN ID在UPDATE中不起作用

时间:2010-05-01 17:38:40

标签: php mysql mysql-error-1242

UPDATE statistics
SET money = money + '$money'
WHERE member_id IN
((SELECT member_id FROM races WHERE l_id = '$mem_id'), $other_id)

这有什么问题?我想从比赛中检索所有member_ids,并且还包括到member_id $ other_id。没有$ other_id就行了。

顺便说一句,它给了我“Subquery返回超过1行”的错误。

3 个答案:

答案 0 :(得分:7)

尝试:

UPDATE statistics
   SET money = money + $money
 WHERE member_id IN (
       SELECT member_id
         FROM races
        WHERE l_id = $mem_id 
       )
    OR member_id = $other_id

建议 - 对于int类型列,不要使用叛逆者。

答案 1 :(得分:4)

子查询返回member_id和$ other_id

答案 2 :(得分:4)

另一种方法:

(SELECT member_id FROM races WHERE l_id = '$mem_id'
UNION
SELECT $other_id)