2

コードのどこでクエリがトリガーされるのかわからず、トリガーされたときにそのクエリを拒否するmysql構成があるかどうか疑問に思っていましたか?たとえば、私の状況ではUPDATE table SET col1 = NULL, col2 = NULL, col3 = NULL...助けてください!!!

4

1 に答える 1

5

上記のように、トリガーを使用できます; 存在しないプロシージャを呼び出すだけで、目的の基準が満たされたときにエラーが発生します。

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 ;
于 2012-04-24T15:52:37.727 に答える