JDBC 挿入でキーを自動生成できる一般的なクロス RDMS の方法はありますか? たとえば、主キー、id、および int 値を持つテーブルがある場合:
create table test (
id int not null,
myNum int null
)
そして挿入を行います
PreparedStatement statement = connection.prepareStatement("insert into test(myNum) values(?)", Statement.RETURN_GENERATED_KEYS);
statement.setInt(1, 555);
statement.executeUpdate();
statement.close();
java.sql.SQLException: Cannot insert the value NULL into column 'id' が発生します。
これは完全に RDMS に依存しているように感じます。私たちはSQL Server 2005を使用しており、設定しました
CONSTRAINT [PK_test] PRIMARY KEY CLUSTERED
(
[id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 1) ON [PRIMARY]
運のないテーブルで。