私はcodeigniterを使用しており、次のようなコードを使用しています
$this->db->trans_start();
some 5 mysql inserts and
$this->db->trans_complete();
5 番目のクエリのようなエラー、DB Transaction Failure
つまり重複エントリ エラーが発生しています。それでも、最初の 4 つのクエリはすべて実行されます。ロールバックすべきではありませんか?
私はcodeigniterを使用しており、次のようなコードを使用しています
$this->db->trans_start();
some 5 mysql inserts and
$this->db->trans_complete();
5 番目のクエリのようなエラー、DB Transaction Failure
つまり重複エントリ エラーが発生しています。それでも、最初の 4 つのクエリはすべて実行されます。ロールバックすべきではありませんか?
"Strict Mode"
お取引にご利用ください。クエリの 1 つが失敗した場合、他のクエリを自動的にロールバックします。詳細を見るにはここをクリックしてください。それがあなたを助けることを願っています。
次のようにトランザクションを手動で実行できます。
$this->db->trans_begin();
$this->db->query('AN SQL QUERY...');
$this->db->query('ANOTHER QUERY...');
$this->db->query('AND YET ANOTHER QUERY...');
if ($this->db->trans_status() === FALSE)
{
$this->db->trans_rollback();
}
else
{
$this->db->trans_commit();
}