2
A
答えて
4
トリガーが例外を発生させると、トランザクションが中断され、効果的にロールバックされます。これはあなたのために働くでしょうか?
3
から:http://dev.mysql.com/doc/refman/5.1/en/trigger-syntax.html
トリガー、 は、明示的または暗黙的なSTART TRANSACTION ようにトランザクションを開始または終了 というステートメントを使用COMMIT、またはROLLBACKすることはできません。トランザクションテーブルの場合
と
、 文の失敗は、ステートメントによって実行されたすべての の変更のロールバックが発生する必要があります。 トリガーに失敗すると ステートメントが失敗するため、トリガーエラー もロールバックを引き起こします。 非トランザクションテーブルの場合、ロールバック は実行できません。したがって、 ステートメントは失敗しますが、エラーの時点より前に で実行された変更はすべて のままです。
7
この機能はMySQL 5.5以降に存在し、以前のリリースでは機能しないことがわかりました。
トリガーはロールバックもコミットも行いません。 ロールバックを開始するには、例外を発生させる必要があります。したがって、挿入/更新/削除コマンドは中止されます。 SQLコマンドを使用してロールバックまたはコミットアクションを発生させる必要があります。あなたXXXのトリガーで、あなたの例外を発生させる
(例えば。):
create trigger Trigger_XXX_BeforeInsert before insert on XXX
for each row begin
if [Test]
then
SIGNAL sqlstate '45001' set message_text = "No way ! You cannot do this !";
end if ;
end ;
関連する問題
- 1. mysqlでこのクエリを実行することはできますか?
- 2. この構造でMySQLリクエストを実行することはできますか?
- 3. MySQLのトリガーでメールを送信することはできますか?
- 4. Webpack、Sass、PHP、MySQLでAngularを実行することはできますか?
- 5. MySQLトリガー:テーブルが大きすぎると行を削除できますか?
- 6. FluentMigratorでトリガーを作成することはできますか?
- 7. フォームをタブレットで実行することはできますか?
- 8. モノでvbprojを実行することはできますか?
- 9. 「プルモード」でプレイブックを実行することはできますか?
- 10. SignalRでバックグラウンドタスクを実行することはできますか
- 11. グローバルタイマーをバックグラウンドで実行することはできますか?
- 12. Multimarkdownで「タブ」を実行することはできますか?
- 13. PyAutoGUIをヘッドレスモードで実行することはできますか?
- 14. MySqlトリガーからAsp.netセッションを取得することができます
- 15. MySQLのストアドプロシージャ:PHPコードから実行することはできません
- 16. osx buitin upgrade phpを実行したあと、MYSQLをMAMPで実行することはできません。
- 17. PDOがrollBack()関数を実行する前にクエリをロールバックする方法はありますか?ここ
- 18. は、MySQLサービスを実行することはできません、XAMPP
- 19. MySQL - 別のトリガーの後にトリガーを実行します。
- 20. rrdtool serversidesを実行することはできますか?
- 21. iOS App Storeを実行することはできますか?
- 22. クロムスニペットを自動実行することはできますか?
- 23. これはMYSQLで行うことができます
- 24. mysqlトランザクションでselectとupdateの両方を実行することはできますか?
- 25. AndroidでEncogまたはNeurophを実行することはできますか?
- 26. ASUTIME LIMITがDB2ストアドプロシージャで満たされると、プロセスROLLBACKまたはCOMMITは実行されますか?
- 27. 他のスキーマで更新時に実行されるトリガーを実装することは可能ですか
- 28. キュウリなしでRSpecとAutotestを実行することはできますか?
- 29. mysqlでselectをループすることはできますか?
- 30. MYSQLでエラーステートメントをログアウトすることはできますか?