トリガーの実行中にエラーが発生した場合、MySQL は次のように処理できると仮定します。 -
- BEFORE トリガーが失敗した場合、実行は応じて実行されません。OK。
- BEFORE トリガーは、行の挿入または変更が試行されると、その後の試行が成功したかどうかに関係なくアクティブ化されます。
- BEFORE トリガーと行操作が正常に実行された場合にのみ、AFTER トリガーを実行します。
- BEFORE トリガーまたは AFTER トリガー中にエラーが発生すると、トリガーを呼び出す原因となったステートメント全体が失敗します。
- トランザクション テーブルの場合、ステートメントが失敗すると、そのステートメントによって実行されたすべての変更がロールバックされる必要があります。トリガーが失敗するとステートメントも失敗するため、トリガーが失敗するとロールバックも発生します。非トランザクション テーブルの場合、このようなロールバックは実行できないため、ステートメントは失敗しますが、エラーが発生する前に実行された変更は引き続き有効です。
以上がMySQL はトリガー実行中のエラーをどのように処理しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。