2010-11-22 25 views
7

私は挿入クエリを実行しますが、トリガに基づいて別の値をインクリメントするトリガをテーブルに持っていますが、トリガに問題がありますが、それでもクエリは実行されますか?トリガーが失敗した場合はどうなりますか?

+0

@cdhowie、私は彼がどのデータベースエンジンを要求していたと思いますか? MySQLは多くをサポートしています。 – Brad

+1

は挿入前または挿入後のトリガーですか? –

答えて

8

次の参照articleが役立ちます。基本的に、BEFOREまたはAFTERトリガーのいずれかのエラーにより、トリガー呼び出しを引き起こしたステートメント全体が失敗します。

これをテストする必要はありませんが、すぐにテストしたい場合は、挿入トリガーに失敗したダミーテーブルを簡単に作成してください。結果はそこから非常に明確になるでしょう。

希望しました

+0

これはやや誤解を招く - 文は失敗しますが、トランザクションテーブルタイプ(例えばinnodb)を使用している場合にのみロールバックされます。 myisamでは、中間的な変更を永久にコミットすることがあります。 –

関連する問題