0

こんにちは、トリガーの下に作成しようとしています

CREATE TRIGGER TRIGBEFORE INSERT ON employee FOR EACH ROW BEGIN UPDATE employee SET userId = userId +1 WHERE userId >1; 終わり

以下のmysqlエラーが表示されます。何が問題なのか教えてください。

1064 - SQL 構文にエラーがあります。5 行目の near '' を使用する正しい構文については、MySQL サーバーのバージョンに対応するマニュアルを確認してください。

4

2 に答える 2

2

区切り文字を設定するのを忘れて、単語のスペルを間違えた:

delimiter |
CREATE TRIGGER TRIG BEFORE INSERT ON employee 
FOR EACH ROW BEGIN 
    UPDATE employee SET userId = userId +1 WHERE userId >1; 
END;
|
delimiter ;

別の区切り文字を設定しない;と、ステートメントが最初;で終了し、トリガー定義が不完全になります。ステートメントが定義した区切り文字で終了する必要があることを MySQL に伝える必要があります。その後、区切り文字を元に戻すことができますdelimiter ;

于 2012-08-01T09:40:04.533 に答える
0

タイプミスがあると思いますTRIGBEFOREマニュアルはこちら

CREATE TRIGGER trigger_name BEFORE INSERT ON ...
于 2012-08-01T09:38:39.403 に答える