【发布时间】: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 注入的影响。
-
我对非相对答案不好。在不使用模型的情况下,我认为您最好的选择是触发器。为了安全起见,我会使用模型