2つのテーブルへのデータの挿入を処理するプロシージャを記述します。いずれかで挿入が失敗する場合は、プロシージャ全体が失敗するはずです。私はこれをさまざまな方法で試してみましたが、それを働かせることはできません。意図的に2番目の挿入に失敗しましたが、データは最初のテーブルに挿入されます。row_countを使用するプロシージャの例を探す
私は、行カウントに基づいてIFステートメントをネストしようとしましたが、データが2番目の挿入に失敗しても、データは最初のテーブルに挿入されたままです。私は影響を受けた2行の合計数を探しています。
誰かが複数の挿入を処理する方法と、それらのいずれかが失敗した場合のロールバックを教えてもらえますか?短い例が良いでしょう。
:自動的にあなたが明示的に開始されていたトランザクションをコミットしていなくても、あなたの最初のインサートを犯す可能性があります既に取引を使用しています。問題は、最初の挿入でrow_countが1を返し、2番目の挿入で-1と仮定していることです。トランザクションが開始されても、2番目の挿入が失敗した場合でも、データは最初のテーブルに挿入されます。私はすでに影響を受ける行をテストしています。 – jim
そして、innoDBテーブルでのトランザクションの使用は、最初のクエリをロールバックしていませんか? – SubniC
SubniCはありません。それは変です。私はちょうどサイトの別の部分で作業中に今夜それに気付いた。私はInnodbを使用しています。どのようなアイデアかもしれない? – jim