2017-10-30 9 views
0

こんにちは、私はMySQLでトリガーを作成しようとし、以下の私のcode`MySQLのエラー声明

DELIMITER $$ 
CREATE TRIGGER updateNewEmp 
BEFORE INSERT ON employess 
FOR EACH ROW 
BEGIN 
    IF new.salary <50000 THEN 
    SIGNAL SQLSTATE '45000' 
    END IF 
END$$ 
DELIMITER ; 

である。しかし、私は#1064を示すエラーを取得していますIF - あなたはあなたの中にエラーが発生していますSQL構文。 MariaDBサーバーのバージョンに対応するマニュアルをチェックして、正しい構文が7行目の「END IF END」の近くで使用されるようにしてください。誰かがここで間違っていると説明してください。

+1

あなたはSIGNAL文の末尾にセミコロンが必要です。 –

+0

私はそれもやっていました。 –

+0

あなたは本当に "employess"という名前のテーブルを持っていますか? –

答えて

2

はにセミコロンを入れてみてください:

DELIMITER $$ 
CREATE TRIGGER updateNewEmp 
BEFORE INSERT ON employess 
FOR EACH ROW 
BEGIN 
    IF new.salary <50000 THEN 
     SIGNAL SQLSTATE '45000'; 
    END IF; 
END$$ 

DELIMITER ; 
+0

コメントありがとうございます。どちらも動作しません。それはまだ私に予期しないトークンを与えます。近くに。 写真:http://tinypic.com/r/oab1fs/9 –

+0

@bhuvanesharasu。 。 。あなたは古風なMySQLのバージョンを使用していますか? –

+0

私はphpmyadminを使用しています。しかし、私がMySQLワークベンチを使用したとき、これはうまくいった。私はそれから、phpmyadminのバージョンに何か問題があることを理解しました。ありがとうございました!出来た :) –