私はjavaを使用してデータベースにデータを入力する次のコードを持っています。しかし、最初のカラムは実際にpostgresqlデータベースによって自動的に生成されます。今、最初の列に触れないようにコードをどのように変更すればよいですか?最初の列の値がデフォルト(自動生成)の値を持つことになります。この方法でJavaを使用してPostgreSQLに自動生成されたID番号を挿入するのをスキップできますか?
insert into members (birthyear, familyname, givenname) values (?,?,?)
:
String sql = "insert into members values (?,?,?,?)";
PreparedStatement pst = connection.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS); // I used RETURN_GENERATED_KEYS, but I don't know how to utilize it.
pst.setInt(1, memid); // I want this line to be skipped
pst.setInt(2, birthyear);
pst.setString(3, familyname);
pst.setString(4, givenname);
// Executing the insert
pst.executeUpdate();
"memid"カラムのnull値がnullでない制約に違反しています – krest
が 'serial'に設定されたmemidカラムですか? – Hao
"memid"が自動生成された列 –