私は非常に単純なトリガーを持っています。私はToad for mysqlツールからそれを作成し、それを展開し、問題なく完璧に動作しました。管理者に本番サーバーにデプロイするように指示したところ、エラーが発生しました。
Phpmyadmin エラー:
1064 - SQL 構文にエラーがあります。使用する正しい構文については、MySQL サーバーのバージョンに対応するマニュアルを確認してください。
4 行目の '' 付近
Mysql コンソール エラー:
エラー 1064 (42000): SQL 構文にエラーがあります。1 行目の 'END' 付近で使用する正しい構文については、MySQL サーバーのバージョンに対応するマニュアルを確認してください。
尋ねられたとき、彼らは phpmyadmin からコードを実行しており、また mysql コンソールから実行しようとしましたが、エラーが発生しています
同じことがGUIツールから実行され、Webツールまたはコンソールからは機能しないのは、本当にイライラし、イライラします。3 つの異なるツールからの 3 つの異なる動作
その後、同じことを試しましたが、エラーも発生しました。その理由は私を驚かせた
DROP TRIGGER IF EXISTS TRG_ ;
CREATE TRIGGER TRG_ BEFORE INSERT ON users FOR EACH ROW
BEGIN
DECLARE X INTEGER;
SELECT COUNT(*) into X FROM users;
IF X >= 16 THEN -- CHANGE THIS NUMBER
SIGNAL SQLSTATE '45000'
SET MESSAGE_TEXT = 'cant create more users';
END IF;
END;
誰かが私が間違っていることを教えてもらえますか? よくわかりませんが、目的が理解できなかった区切りキーワードに関係していると思います。