Я хочу узнать, как я мог бы использовать MYSQL ОПЕРАЦИИ.Как использовать транзакции в codeigniter для фиксации и отката на основе изменения данных?
У меня есть прецедент, где у меня есть две таблицы. Скажем, Table1 и Table2. Теперь я вставляю некоторые данные в Таблицу 1 и insert id
. Я получаю из этой таблицы. Я хочу вставить ее в таблицу 2.
Если значения успешно вставлены в Таблицу 1 и во время ввода значений Таблицы 2, если возникла какая-либо ошибка, я хочу также удалите значения из таблицы 1, так как запрос для моей таблицы 2 не был успешным.
Я просто хочу понять, как это можно сделать с помощью Codeigniter. Как COMMIT или ROLLBACK в соответствии с потребностями.
Пожалуйста, помогите мне с примером кода для понимания.
Update
Я также передал CodeIgniter UserGuide. Но я не понял понятия Running Transactions manually
Что это значит? Как упоминалось выше, я хочу сделать что-то вроде триггера, который является автоматическим, я имею в виду, что если мой запрос завершится неудачно, я хочу, чтобы он выполнял ROLLBACK независимо от того, что он сделал, используя Codeigniter.
Код:
$this->db->trans_begin();
$data = $this->Product_m->array_from_post(array('name','description'));
$this->Product_m->save($data,$id);
$pid = $this->db->insert_id();
$num_of_license = $_POST['license'];
$this->Product_m->create_product($pid,$num_of_license);
if ($this->db->trans_status() === FALSE)
{
$this->db->trans_rollback();
}
else
{
$this->db->trans_commit();
}
Теперь в этом случае я попытался сделать это:
Данное Заявление $this->Product_m->create_product($pid,$num_of_license);
вставляет данные на основе метода предыдущего сохранения() Теперь предположим, что некоторые ошибки происходит во время create_product() метод , Затем я хочу откат. Я хочу удалить запись, которую сделал метод save().
Возможные дубликата [CodeIgniter Сделки] (HTTP: // StackOverflow.com/questions/15224826/codeigniter-transaction) –
Это не дубликат, он просто попросил ссылку на транзакцию, выполненную в codeigniter – Vimal
@dhruvjadia, этот вопрос, о котором я уже говорил, но это касается его кода, я просто хотел понять, как я мог бы использовать его по-разному. Также я упомянул, что хочу «Учиться» – Rajan