在表中插入新数据行后如何获取ID?

时间:2018-07-03 16:17:27

标签: sql postgresql

我有:

Insert Into(name)
Value('Anton')

如何获取新创建的id

2 个答案:

答案 0 :(得分:0)

您使用RETURNING关键字

documentation

来自文档:

INSERT INTO users (firstname, lastname) VALUES ('Joe', 'Cool') RETURNING id;

答案 1 :(得分:0)

  

将单行插入表分配器,返回序列   DEFAULT子句生成的数字:

代码

INSERT INTO distributors (did, dname) VALUES (DEFAULT, 'XYZ Widgets')
   RETURNING did;
  

可选的RETURNING子句使INSERT计算并返回   基于实际插入的每一行的值。这主要是有用的   用于获取默认值(例如,序列号)提供的值   序列号。但是,使用表列的任何表达式都是   允许的。 RETURNING列表的语法与   SELECT的输出列表。

参考

  1. https://www.postgresql.org/docs/9.1/static/sql-insert.html
  2. https://stackoverflow.com/a/2944481/7793817