是否可以从插入语句中进行选择?例如:
SELECT id FROM (INSERT INTO table (col1, col2) VALUES (val1, val2));
其中 id
是一个自动递增的主键。
最佳答案
这是不可能的,因为 INSERT
不会为 SELECT
返回虚拟表。但是,您可以使用 currval(regclass)
获取 id 的实际值序列函数为:
SELECT currval('yourTableName_id_seq'::regclass);
currval
---------
1
(1 row)
编辑:
使用RETURNING
clause (自 PostgreSQL 8.2 起可用):
INSERT INTO yourTableName (col1, col2) VALUES ('aaa', 'bbb') RETURNING id;
id
----
2
(1 row)
关于postgresql - 从插入中选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7105913/