MySQL トリガー: AFTER DELETE 後のテーブルからの削除 - 構文エラーと解決策
「patron_info」から行を削除するトリガーを作成しようとしたとき「patrons」テーブルから行が削除された後、「6 行目の END 付近の構文を確認してください」というエラー メッセージが表示される場合があります。このエラーは、トリガー コードの構文エラーを示します。
現在、指定されたトリガー コードには、DELETE ステートメントの WHERE 句に構文エラーがあります:
1 2 |
|
ここでの問題は、トリガーは、「patrons」エイリアスを使用して「patrons」テーブルを参照します。このエイリアスは、トリガーの BEGIN ブロックと END ブロック内でのみ使用できます。これを解決するには、DELETE ステートメントは代わりに、「patrons」テーブルから削除された行を表す「古い」エイリアスを参照する必要があります:
1 2 |
|
この修正により、トリガー コードは次のようになります:
1 2 3 4 5 6 |
|
さらに、DELETE ステートメントがステートメントを終了するセミコロン (;) で終わっていることを確認することが重要です。コンソールにトリガー コードを入力するときは、トリガーの境界を定義するために区切り文字も使用する必要があります。
以上がDELETE 後にテーブルから削除する MySQL トリガーを作成するときに「6 行目の終わりに近いチェック構文」エラーが発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。