2017-09-02 12 views
1

これは、現時点では私のコードです:1つのSQLトリガーで複数のイベントを使用するにはどうすればいいですか?

enter image description here

を私はMariaDBの私のバージョンを確認:

DROP TRIGGER `backup`; 

DELIMITER $$ 
CREATE TRIGGER `backup` AFTER INSERT UPDATE DELETE 
    ON `warehouse` 
    FOR EACH ROW 
     BEGIN 

     END$$ 
DELIMITER ; 

は、これは私が入れませんエラーです。それは10.1.21

私は1つだけのイベントを使用する場合に動作しますが、2つまたは3つでこのエラーが発生します。 MySQLやMariaDBで

Insert Update trigger how to determine if insert or update

+0

INSERT、UPDATE、DELETEの3つの区切りトリガーを作成する必要があります。 –

+0

は、1つの方法ですべてを行うことができますか?私はいくつかの例を見つけましたが、上記の文法は上記のようになります – bobby

+0

そのような例へのリンクを提供してください。 –

答えて

2

、各トリガは、1つのイベントのために定義する必要があります。複数のイベントで動作するトリガーを定義することはできません。

https://dev.mysql.com/doc/refman/5.7/en/create-trigger.html構文を有する:

trigger_event: { INSERT | UPDATE | DELETE } 

この構文記法イベントがの1つから3つの値のINSERT、UPDATE、またはDELETEでなければならないことを意味します。

EVENT_MANIPULATION enum('INSERT','UPDATE','DELETE') 

イベントタイプは、それが唯一の倍数ではない一つの値を持つことができることを意味enumです:私たちDESCRIBE INFORMATION_SCHEMA.TRIGGERS場合

もう一つの手がかり

が発見されました。

リンク先の例は、MySQLまたはMariaDBではなく、Microsoft SQL Serverの例です。

「Microsoft」と「MySQL」の両方が同様の音節で始まっているにもかかわらず、これらは異なる機能を持つ2つの異なる製品です。

関連する問題