关于如何读取分配给新创建的记录的自动递增标识字段的任何建议java.sql.Statement.executeUpdate
?
我知道如何在SQL中为几个数据库平台执行此操作,但想知道存在哪些数据库独立接口java.sql
,以及人们在跨数据库平台上使用此体验的任何输入.
以下snibblet代码应该做ya':
PreparedStatement stmt = conn.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS); // ... ResultSet res = stmt.getGeneratedKeys(); while (res.next()) System.out.println("Generated key: " + res.getInt(1));
已知这适用于以下数据库
德比
MySQL的
SQL Server
对于不起作用的数据库(HSQLDB,Oracle,PostgreSQL等),您需要使用特定于数据库的技巧.例如,在PostgreSQL上,您可以调用SELECT NEXTVAL(...)
相关序列.
请注意,参数executeUpdate(...)
类似.