【问题标题】:How to get result set or affected row after raw SQL update in Phalcon如何在 Phalcon 中更新原始 SQL 后获取结果集或受影响的行
【发布时间】:2020-07-08 07:16:18
【问题描述】:

我正在使用以下原始 SQL 更新:

$query = "UPDATE $table SET balance = balance + $this->sum WHERE cashbox_id = $cashboxId";

$db->execute($query);

现在我需要已更新的最终balance,因为我需要将更改后的余额插入另一个表中。我怎样才能做到这一点?

我只需要在这个上使用原始 SQL。

【问题讨论】:

  • 您需要运行一个单独的查询来获取该信息,然后再运行一个查询来更新另一个表中的记录。我的建议是在你的数据库中使用触发器,这将帮助你用更少的工作来做到这一点。或者尽可能使用存储过程。否则,唯一的选择是运行多个查询。此外,根据提供的代码示例,您的查询似乎容易受到 SQL 注入的影响。
  • 我对非相对答案不好。在不使用模型的情况下,我认为您最好的选择是触发器。为了安全起见,我会使用模型

标签: php phalcon


【解决方案1】:

您可以使用触发器来解决问题。您可以在您的 sql server 中定义触发器。

【讨论】:

  • 但是,如果事务出现问题,有什么办法可以回滚触发器?
猜你喜欢
  • 2021-04-29
  • 2011-06-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-08-06
  • 2012-10-01
  • 1970-01-01
  • 2011-10-28
相关资源
最近更新 更多