-3

データベース行mysqlの2つの列がトリガーによって更新されないようにしたいのですが、たとえば、私のテーブルはmymyで、2つの列はcolumn1andcolumn2で、行IDは11です。mysqlトリガーでどのように実行しますか?

ここに画像の説明を入力してください

私はそれを次のように試しました:

CREATE TRIGGER 'no_update' BEFORE INSERT ON 'mymy' 
FOR EACH ROW BEFORE UPDATE , then check if NEW.column1 != OLD.column1 OR NEW.column2 != OLD.column2 

そして私はエラーがあります:

#1064-SQL構文にエラーがあります。MySQLサーバーのバージョンに対応するマニュアルで、「BEFORE UPDATE」の近くで使用する正しい構文を確認してから、NEW.id_relation!= OLD.id_relation OR NEW.active!'かどうかを確認してください。1行目

どうすれば修正できますか?

4

1 に答える 1

-1

column1 と column2 の値を本当に更新したくない場合は、トリガーを使用して新しい値を古い値に設定し、更新しないようにすることができます-これがあなたが探しているものだと思います.

CREATE TRIGGER test_trigger BEFORE UPDATE ON mymy
FOR EACH ROW BEGIN
  SET NEW.column1 = OLD.column1, NEW.column2 = OLD.column2
END
于 2013-02-20T10:55:36.650 に答える