java-INSERT..RETURNING在JOOQ中不起作用

我有一个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代码生成.

解决方法:

这是jOOQ 3.9:https://github.com/jOOQ/jOOQ/issues/2943中的已知限制

当前,在使用纯sql时,您无法在jOOQ中使用RETURNING子句,因为jOOQ需要知道标识列名称以绑定到JDBC(在大多数数据库中).不幸的是,仅将ID列传递给RETURNING子句是不够的,因为不能保证这就是标识列.您还可以将几列传递给RETURNING子句,以防万一jOOQ不知道哪一列是标识列.

相关文章

安装开始...1.打开“https://dev.mysql.com/downloadsepo/yu...
安装Helm3#官网下载慢#wgethttps://get.helm.sh/helm-v3.5.4...
通过Linux命令行启动用的指令:systemctlstartmariadb.servi...
InstallingMariaDBServer10.4TodeployMariaDBCommunityServe...
阅读目录一什么是存储引擎二mysql支持的存储引擎三使用存储引...
1、安装MariaDB安装命令yum-yinstallmariadbmariadb-server安...