CodeIgniter 3.x и MariaDB Transactions Outlback не работает для всех записейPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 CodeIgniter 3.x и MariaDB Transactions Outlback не работает для всех записей

Сообщение Anonymous »

Это сводит меня с ума в течение нескольких дней. /> Проверить все потоки, но ничего не работает.
У меня есть этот код: < /p>
$this->db->trans_begin();

$q1 = $this->db->insert('log_query_actions', array('created_time' => '11:11:11'));
$q2 = $this->db->insert("db_sales", array('store_id' => '1'));
$q3 = $this->db->insert("db_sales", array('store_id' => '2'));
$q4 = $this->db->insert('log_query_actions', array('created_time' => '22:22:22'));
$q5 = $this->db->insert("db_sales", array('store_id' => '3'));
$q6 = $this->db->insert('log_query_actions', array('created_time' => '33:33:33'));

$this->db->trans_rollback();
< /code>
После выполнения, в базе данных я вижу первые 2 вставки для каждой таблицы. 3-й вставка в каждую таблицу успешно откатится назад:
не Rooldback $ Q1
не Rooldback $ Q2
Not Rooldback $ Q3
не Roolledback $ Q4
Roolledback $ Q5
Roolledback $ Q6 < /p>
Если я попробую что -нибудь еще, например: < /p>
$this->db->trans_begin();

$q1 = $this->db->insert('log_query_actions', array('created_time' => '11:11:11'));
$q4 = $this->db->insert('log_query_actions', array('created_time' => '22:22:22'));
$q6 = $this->db->insert('log_query_actions', array('created_time' => '33:33:33'));
$q2 = $this->db->insert("db_sales", array('store_id' => '1'));
$q3 = $this->db->insert("db_sales", array('store_id' => '2'));
$q5 = $this->db->insert("db_sales", array('store_id' => '3'));

$this->db->trans_rollback();
< /code>
Тогда только $ Q5. Все остальное в таблице. $this->db->trans_begin();

$q2 = $this->db->insert("db_sales", array('store_id' => '1'));
$q3 = $this->db->insert("db_sales", array('store_id' => '2'));
$q5 = $this->db->insert("db_sales", array('store_id' => '3'));
$q1 = $this->db->insert('log_query_actions', array('created_time' => '11:11:11'));
$q4 = $this->db->insert('log_query_actions', array('created_time' => '22:22:22'));
$q6 = $this->db->insert('log_query_actions', array('created_time' => '33:33:33'));

$this->db->trans_rollback();
< /code>
В этом случае все перекатывается, за исключением $ Q2 и $ q3. Нет внутренних отношений, а двигатель не является myisam

Подробнее здесь: https://stackoverflow.com/questions/783 ... ll-records
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»