注册

达梦7无法获取自增id

qkong 2024/03/05 764 6

为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】: DB Version: 0x7000a
【操作系统】:Linx 6.0.80
【CPU】: Intel(R) Xeon(R) CPU E5-2603 v4 @ 1.70GHz
【问题描述】*:jdbc无法获取自增id,单条插入是没有问题的,批量多条同时插入获取不到自增id

新建表

CREATE TABLE "NS_DB"."TEST" (
  "ID" INT IDENTITY(1,1) NOT NULL,
  "NAME" VARCHAR(255)
)

通过jdbc插入数据,并获取自增列ID的值,无法进入到while循环中

Class.forName("dm.jdbc.driver.DmDriver");
String url = "jdbc:dm://192.168.15.100:5236?schema=NS_DB";
String username = "ns_db";
String password = "Nice_2016";
Connection connection = DriverManager.getConnection(url, username, password);
connection.setAutoCommit(true);

String sql = "insert into ns_db.test(name) values (?), (?)";
PreparedStatement preparedStatement = connection.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS);
preparedStatement.setString(1, "1");
preparedStatement.setString(2, "2");
preparedStatement.executeUpdate();
ResultSet generatedKeys = preparedStatement.getGeneratedKeys();
while (generatedKeys.next()){
    long key = generatedKeys.getInt(1);
    System.out.println("key:" + key);
}
回答 0
暂无回答
扫一扫
联系客服