(MySQL)触发列以在该列上更新之前将所有值设置为零?

时间:2012-06-10 15:36:18

标签: mysql sql database

基本上我有一个名为“ispushed”的专栏。每当按下网页上的按钮时,该列中的所有值都应重置为零,除了我正在更新的行,应该将其设置为1.

像这样的东西

CREATE TRIGGER `TR_ispushed` BEFORE UPDATE on `questions`
FOR EACH ROW BEGIN
    UPDATE  questions set questions.`ispushed` = 0
        WHERE id <> **Current id**
END$$

1 个答案:

答案 0 :(得分:4)

触发器不是您实现此类逻辑所需的。简单的更新语句将执行此操作:UPDATE questions SET is_pushed = CASE WHEN id =[your_id] THEN 1 ELSE 0 END;