postgresql - 如何向数据库中插入新行并获取结果的主键

标签 postgresql playframework playframework-2.0 postgresql-9.1 anorm

我将 Play2 与 Anorm 一起使用。有没有办法执行INSERT语句并得到自动生成的主键结果?

最佳答案

使用 RETURNING clause :

INSERT INTO tbl(foo)
VALUES ('bar')
<b>RETURNING foo_id</b>;

Anorm它可能看起来像这样(我不是 Anorm 专家):

import play.db.anorm._

val firstRow = SQL("INSERT INTO tbl(foo)
                    VALUES ('bar') RETURNING foo_id").apply().head

val foo_id = firstRow[int](“foo_id”)

关于postgresql - 如何向数据库中插入新行并获取结果的主键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12214754/

相关文章:

java - Play 应用程序未生成日志文件夹

http - 如何在 Play 2 中获取 URL?

json - Play 框架上的单个 POST 请求中的多个文件上传和 json 对象

sql - 将字段与值进行比较并返回 bool

postgresql - PL/pgSQL 语法错误

postgresql - 为每个 ID 选择最大值(包括一个 ID 有多个最大值的可能性!)

postgresql - JHipster-Liquibase : How to upload an Image file blob?

java - 使用 Spring 作为 play 2.4.x 的依赖注入(inject)框架?

playframework - Play Framework 是否支持像 rails 这样的嵌套路由?

java - 当我使用 find 时,Ebean ManyToOne 和 OneToMany 返回 null