テーブルAに対するこのような本当に望ましくない更新クエリがありました。このテーブルには、テーブルB、Cを更新する更新後トリガが含まれています。私たちは、表AのUpdate文であったメイントランザクションを終了しました。問題は、表BとCの変更もロールバックされましたか?または、更新後のトリガーがまったく呼び出されていますか?実行が終了する前にセッションを終了してからです。前もって感謝します。は、セッション・キル(トランザクション・ロールバック)後に更新トリガーが終了したかどうかを確認します。
0
A
答えて
0
アクセスする表のすべてが(例えば、MyISAMテーブルやメモリを使用していない、InnoDBテーブルを使用した例)トランザクションテーブルです
-
あなたが取引している
- 、と
- ...場合
...ロールバック(セッションの強制終了による暗黙的なロールバックを含む)ロールバックすべてトランザクション内での変更(トリガーによる変更を含む)外部キー操作をカスケードします。
トリガー(およびカスケード)はMySQLで延期されることはありませんので、行が更新されるとFOR EACH ROW
が発生しますが、すべての変更がロールバックで元に戻されるため、これは学術的なものです。
表Aがそのままの場合、表BおよびCもそのままでなければなりません。もちろん、最も安全なコースは、最近のバックアップを取得し、現在のデータフィルとバックアップで見つかったものとを比較することです。これはもちろん、スナップショットのバックアップが頻繁に行われることを前提としています。
関連する問題
- 1. MPMusicPlayerControllerPlaybackStateDidChangeNotification曲が終了したかどうかを確認する
- 2. データベーステーブルを更新し、ブラウザが終了したらセッションを終了します
- 3. コントローラの接続が終了した後のトランザクションのロールバック(クライアントがタイムアウトした)
- 4. qprocessが終了したかどうかの確認
- 5. 再帰関数が終了したかどうかを確認するには?
- 6. プロセスが終了したかどうかを確認するには?
- 7. レーキタスクが終了したかどうかを確認するには?
- 8. 終了かシステムエラーかによってアプリケーションが終了したかどうかを確認してください。
- 9. APIでトランザクションが完了したかどうかを確認する方法
- 10. Laravel 5.4認証セッションが終了した後にログインページに戻る
- 11. トリガーからのトランザクションのロールバック
- 12. VB.NET新しいクラスインスタンスが早期に終了したかどうかを確認する方法
- 13. WCFクライアントチャネル(サービス)が終了したかどうかを確認する方法?
- 14. C#でプログラムが終了したかどうかを確認する方法
- 15. fork()プロセスが終了したかどうかを確認するPython
- 16. AS3 - 動画が終了したかどうかを確認する方法
- 17. appiumドライバが終了したかどうかを確認する方法
- 18. asp.net sql serverストアドプロシージャが終了したかどうかを確認する方法
- 19. SCNNode SCNActionが終了したかどうか確認してください
- 20. Hibernate Lazy Loading - セッションが終了した後
- 21. 状態の更新が完了したかどうかを確認する方法はありますか?
- 22. SQLの更新が完了したかどうかを確認する方法はありますか?ここ
- 23. ラーベリがクッキーを終了するかどうか確認する
- 24. Laravel:セッションが必要かどうかを確認しますか?
- 25. レコードの更新が成功したかどうかを確認します。
- 26. SQL Serverでトランザクションが失敗した場合、トリガーはロールバックされますか?
- 27. トランザクションがロールバックされましたか?
- 28. OpenGLの操作が終了したかどうかを確認する方法はありますか?
- 29. R Shiny SQLクエリが実行してプログレスバーを終了したかどうかを確認します
- 30. を使用してプロセス/プログラムが終了したかどうかを確認します。