如何在 Doctrine DBAL 的 postgreSQL 中获取 UPDATE ... RETURNING 查询的值
How to get the value of an UPDATE ... RETURNING query in postgreSQL in Doctrine DBAL
我正在尝试将这个正确的 postgreSQL 查询与 Doctrine DBAL 一起使用,但到目前为止我没有成功,查询是:
UPDATE table SET field = field + 1 WHERE id = ? RETURNING field AS fieldName;
查询工作正常,但尝试从 RETURNING 子句中恢复值时,我发现无法从 DBAL 中的查询结果中获取此值。
我尝试使用 getLastInsertedId 和 fieldName 值以及调用本身的 return 值,但没有成功。有人知道这样做的方法吗?
谢谢
好吧,在@daniel-v%c3%a9rit%c3%a9 的帮助下,经过一番努力,我找到了方法。
要在 postgres 中返回更新后检索数据,您必须像这样执行查询:
$statement = $conn->executeQuery($sql, $params);
$statement->fetchAll();
通过这种方式,您只需一个查询即可进行更新并获取更新的最后一个值。
我正在尝试将这个正确的 postgreSQL 查询与 Doctrine DBAL 一起使用,但到目前为止我没有成功,查询是:
UPDATE table SET field = field + 1 WHERE id = ? RETURNING field AS fieldName;
查询工作正常,但尝试从 RETURNING 子句中恢复值时,我发现无法从 DBAL 中的查询结果中获取此值。
我尝试使用 getLastInsertedId 和 fieldName 值以及调用本身的 return 值,但没有成功。有人知道这样做的方法吗?
谢谢
好吧,在@daniel-v%c3%a9rit%c3%a9 的帮助下,经过一番努力,我找到了方法。
要在 postgres 中返回更新后检索数据,您必须像这样执行查询:
$statement = $conn->executeQuery($sql, $params);
$statement->fetchAll();
通过这种方式,您只需一个查询即可进行更新并获取更新的最后一个值。