在mysql中拒绝某些查询

时间:2012-04-24 15:46:54

标签: mysql sql my.cnf

我无法在代码中找到触发查询的位置,并且想知道是否有一个mysql配置会在触发时拒绝该查询?例如,在我的情况下它是UPDATE table SET col1 = NULL, col2 = NULL, col3 = NULL ...请帮助!!!

1 个答案:

答案 0 :(得分:5)

如上所述,您可以使用trigger;只需调用一个不存在的过程就可以在满足所需条件时引发错误。

DELIMITER ;;

CREATE TRIGGER reject_null_table_update BEFORE UPDATE ON table FOR EACH ROW
IF
      NEW.col1 IS NULL
  AND NEW.col2 IS NULL
  AND NEW.col3 IS NULL
  -- etc
THEN
  CALL raise_error();
END IF;;

DELIMITER ;