【问题标题】:ActiveCollab Custom Insert/Update query issueActiveCollab 自定义插入/更新查询问题
【发布时间】:2013-10-07 11:49:47
【问题描述】:

我尝试通过将查询作为参数传递给该函数来使用 DB::execute() 函数执行一些自定义查询 - 更新现有表上的查询。在运行这个查询之前,我检查了这样的连接对象 $connection = DB::getConnection();它返回一个连接标识符。然后在执行查询时,它从执行函数返回 bool true,尽管数据库表字段中没有更改。此外,如果我以错误的语法传递查询,则会出错。

ActiveCollab 中的更新查询语句是否在后台进行任何回滚过程?如果是,如何停止此回滚以避免我的更新查询所做的更改?

谁能告诉我这里可能是什么问题?

【问题讨论】:

    标签: php mysql insert sql-update activecollab


    【解决方案1】:

    所有未提交的事务都会在脚本关闭时自动回滚,因此您需要确保提交的是您打开的事务:

    try {
      DB::beginWork();
    
      // Do something
    
      DB::commit();
    } catch(Exception $e) {
      DB::rollback();
      throw $e;
    }
    

    或:

    DB::transact(function() {
      // Do something
    });
    

    如果您在嵌套事务中并且外部事务被回滚,您的更新也将被回滚。

    【讨论】:

    • 谢谢@llija。当我尝试使用选择查询在项目表中选择某些字段时。我尝试选择的所有字段都变空了。事实上,除了 aC 提供的自定义字段之外,我还添加了 4 个字段到项目表中,问题出在这些字段上。这里可能是什么问题?还是有其他选择查询的方法?
    • 执行选择查询时,有没有异常?
    • 我配置了问题,因为我正在对构造函数进行另一次更新,这导致了清除问题。 :)
    猜你喜欢
    • 2013-01-05
    • 2017-04-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-01
    • 1970-01-01
    相关资源
    最近更新 更多