我有一个MariaDB数据库,正在尝试在表用户中插入一行.它具有生成的ID,我想在插入后获取它.我看过this,但对我不起作用:
public Integer addNewUser(String name) {
Record record = context.insertInto(table("users"), field("name"))
.values(name)
.returning(field("id"))
.fetchOne();
return record.into(Integer.class);
}
解决方法:
这是jOOQ 3.9:https://github.com/jOOQ/jOOQ/issues/2943中的已知限制
当前,在使用纯sql时,您无法在jOOQ中使用RETURNING子句,因为jOOQ需要知道标识列名称以绑定到JDBC(在大多数数据库中).不幸的是,仅将ID列传递给RETURNING子句是不够的,因为不能保证这就是标识列.您还可以将几列传递给RETURNING子句,以防万一jOOQ不知道哪一列是标识列.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。