在PHP中,当使用PDO和pgSQL时如何在原始的INSERT sql查询中获取"RETURNING"子句的值

Cha*_*ntz 6 php postgresql pdo insert

在PHP中,我使用PDO和pgSQL驱动程序.我想知道如何获取INSERT sql查询中给出的"RETURNING"子句的值.我目前的代码是这样的,

$query = 'INSERT INTO "TEST" (firstname, lastname) VALUES ('John', 'Doe') RETURNING user_id';
$queryHandle = $connection->prepare($query);
$queryHandle->execute();
Run Code Online (Sandbox Code Playgroud)

明显

$ queryHandle->执行();

返回TRUE或FALSE.但是如果插入成功,我想获得"user_id"的值.你们能给我一个关于如何去做的指针吗?谢谢.

小智 11

$ret = $queryHandle->fetchColumn();
Run Code Online (Sandbox Code Playgroud)

将返回单个值而不是数组.


Pen*_*m10 9

您是否尝试将该命令视为选择返回,正在运行

$ret=$queryHandle->fetchAll();
Run Code Online (Sandbox Code Playgroud)