gpt4 book ai didi

php - 使用 CodeIgniter 事务?

转载 作者:行者123 更新时间:2023-11-28 23:12:06 25 4
gpt4 key购买 nike

使用有什么区别

$this->db->trans_start();

和使用

$this->db->query('START TRANSACTION');?

其实,我想把这个问题应用到其他编程语言,比如C# with BeginTransaction()

你什么时候明确写出你想在查询中开始一个事务,什么时候你只调用框架或你使用的任何语言的内置方法?

最佳答案

问题:使用
有什么区别吗?回答:不是。两者都做同样的工作。


解释

如果您需要了解 CI 交易,请阅读 this answeranother question .

但仅使用 $this->db->query() 不能完全归档事务部分。

I Recommend this personally Read this Documentaion


问题:什么时候明确写出您想在查询中开始一个事务,什么时候只调用框架或您使用的任何语言的内置方法?< br/>回答:(基于PHP/CI)看你做什么样的系统。

解释

例如,如果您有简单的产品添加并且它有很多子表。 (假设 1 个主表和 4 个子表)。因此,一旦其中一个子表抛出错误,数据将保留在上层表中。所以为了防止我们应该在这里使用事务。

假设 Child Table 2 发生错误,这就是发生的情况(对于插入的数据)。

| Table Name    | Normal Insert     if          |
/update | Transaction |
| ------ | ------ | ------ |
| Master Table | Remain | Roalbacked |
| Child Table 1 | Remain | Roalbacked |
| Child Table 2 | Error | Roalbacked |
| Child Table 3 | Empty | Nothing to do |
| Child Table 4 | Empty | Nothing to do |

有用的链接

  1. Transactions - codeigniter.com
  2. My Answer on another question
  3. php-mysql transaction - mysqltutorial.org

关于php - 使用 CodeIgniter 事务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45532643/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com