• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:トランザクションが効かない)

トランザクションが効かない

このQ&Aのポイント
  • PHPでMySQLを操作している中で、異なる2つのテーブルに同時にINSERTする際に、トランザクションが効いていないようです。
  • transactionの開始と終了のコードがありますが、効果がないようです。
  • 重複エラーが発生していますが、トランザクションが機能していないため、意図した通りにエラーが処理されていないようです。

質問者が選んだベストアンサー

  • ベストアンサー
  • mahny
  • ベストアンサー率74% (57/77)
回答No.1

MySQL側の原因であればこの辺じゃないでしょうか。 ・テーブルを作成時にInnoDBにしていない。 ・DB接続時に自動コミットモードが有効になっている。 ↓この辺が参考になるかも。 http://www.y2sunlight.com/ground/?MySQL4.1%2F9.MySQL%A4%CE%BC%C2%B8%B3%2F4.%A5%C8%A5%E9%A5%F3%A5%B6%A5%AF%A5%B7%A5%E7%A5%F3

takagoo100
質問者

お礼

ご返答ありがとうございます。 テーブルをInnoDBにしてませんでした・・・ InnoDBにしてみたらできました。ありがとうございます。 あとROLLBACK;も使う必要がありました。 mysql_query($sqlstr) or $errStr= mysql_errno() . ": " . mysql_error(). "\n"; if($errStr){ mysql_query("ROLLBACK;"); }

関連するQ&A