假设我有一个表,创建如下:
CREATE TABLE test_table (id serial, unique_id varchar(50) primary key, name varchar(50));
test_table
----------
id | unique_id | name
在该表中,我想用新插入的 id 与插入的名称一次性更新 unique_id 字段。
通常这是通过两个查询来完成的。(PHP方式)
$q = "INSERT INTO table (unique_id,name) values ('uid','abc') returning id||name as unique_id;";
$r = pg_query($dbconn,$q);
$row = pg_fetch_array($r);
$q1 = "UPDATE test_table set unique_id =".$row['unique_id']." where unique_id='uid'";
$r1 = pg_query($dbconn,$q1);
有没有办法在单个查询中完成上述操作?