トランザクションのネストについてまとめてみました どう記述したらネストができるの? ロールバックした時の挙動は? などなどまとめてみました 自分がよく使うMySQLとRails(ActiveRecord)について記載します。他のDBやフレームワークでは多分話が変わりますのでご注意ください 前提 ネストしたトランザクションの挙動 ネストしたトランザクションって、正確な挙動がこうあるべきという決まりがあるのかどうかは筆者はよく知りません ここでは、以下のような挙動を満たすことを目的にします トランザクションの内部に、もう一つトランザクションを貼る 内側のトランザクションがロールバックした場合、外側のトランザクションには影響を与えない 外側のトランザクションがロールバックした場合、内側のトランザクションもロールバックする 内側だけコミットされてしまうと、外側のトランザクションから見ると一貫性が破
![トランザクションのネストの使い方まとめた(初心者向け) - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/a1639c946b0a4671e28b85e872ed653bb38d6ed1/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-412672c5f0600ab9a64263b751f1bc81.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9JUUzJTgzJTg4JUUzJTgzJUE5JUUzJTgzJUIzJUUzJTgyJUI2JUUzJTgyJUFGJUUzJTgyJUI3JUUzJTgzJUE3JUUzJTgzJUIzJUUzJTgxJUFFJUUzJTgzJThEJUUzJTgyJUI5JUUzJTgzJTg4JUUzJTgxJUFFJUU0JUJEJUJGJUUzJTgxJTg0JUU2JTk2JUI5JUUzJTgxJUJFJUUzJTgxJUE4JUUzJTgyJTgxJUUzJTgxJTlGJUVGJUJDJTg4JUU1JTg4JTlEJUU1JUJGJTgzJUU4JTgwJTg1JUU1JTkwJTkxJUUzJTgxJTkxJUVGJUJDJTg5JnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9NTYmcz00MzRhNTk1NGFjYWQwNjczMTM0MzA0NzU2MDY3MWMwNA%26mark-x%3D142%26mark-y%3D57%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9NzcwJnR4dD0lNDBfbmF0c3Vfbm9feXVraV8mdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT0zNiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPTdmNjMxM2U0NWJlNjZhMWUxYTdkYzRkYzIyOTQyYzdj%26blend-x%3D142%26blend-y%3D486%26blend-mode%3Dnormal%26s%3De22b6ec6c18890e0f58e98a46d7121e5)