2010-11-19 13 views
0

を定義するときに、このトリガーの作成構文が失敗した理由を私は理解することはできません。MySQLの構文エラートリガー

CREATE TRIGGER mytrigger BEFORE UPDATE ON mytable 
FOR EACH ROW 
BEGIN 
    IF NEW.col1 = 0 AND NEW.col2 != '' AND NEW.col3 > 0 THEN 
     SET NEW.col1 = NEW.col3 - (10 * 60); 
    END IF; 
END; 

MySQLは5行目に構文エラーが発生しましたが、直前/ SET文で、そこだと言います。私はMySQL 5.0.27を使用しています。私は何が間違っているかを見ることはできません。それは、in the manual 3/4sが与えられた例とほとんど同じです。

PS:これをPhpMyAdminのSQLタブに入力します。 "区切り記号"ステートメントを追加しても効果はありません。すべての手がかりは?前もって感謝します!

+0

デリミタ以外は私にとってはうまく見えます。 5行目はセミコロンの最初のセミコロンで、私には "デリミタ"と書かれていますが、P.S.私は答えとして投稿しません。 –

答えて

0

見つかりました。明らかに、PhpMyAdminは、SQLクエリの一部として入力されたときに、MySQLの区切り文字コマンドを無視します。代わりに、区切り文字をSQLクエリの下の別のフォームフィールドに設定する必要があります。私はそれを完全に逃した!