我正在尝试使用这个正确的postgreSQL查询与Doctrine DBAL工作,但到目前为止我没有成功,查询是:
UPDATE table SET field = field + 1 WHERE id = ? RETURNING field AS fieldName;
查询工作正常,但试图从RETURNING子句中恢复值,我发现无法从DBAL中的查询结果中获得此值。
我尝试了getLastInsertedId与fieldName值和调用本身的返回值,但没有运气。有人知道怎么做吗?
谢谢
好了,经过一番斗争,在@daniel-v% c03 %a9rit% c03 %a9的帮助下,我找到了做到这一点的方法。
要在postgres中检索更新后的数据,必须执行如下查询:
$statement = $conn->executeQuery($sql, $params);
$statement->fetchAll();
这样,只需一个查询,您就可以进行更新并获得更新的最后一个值。