1

このように、jdbcプログラムからテーブルに挿入しています

PreparedStatement ps = con.prepareStatement(sqlqry);
        ps.setInt(1,dto.getInstall_id());
        ps.setString(2, dto.getDashboard_name());
        ps.setString(3, dto.getDashboard_type());
        ps.setString(4, dto.getDashboard_image());

しかし、テーブルには主キーであるD_IDという列があり、同じIDが既に存在する可能性があるため、プログラムからD_IDをテーブルに挿入したくありません。したがって、PK_CONSTRAINT を回避するために、挿入していません。しかし、これを試してみると、このエラーが発生します。

 ORA-01400: cannot insert NULL into ("TESTDB"."TESTATBLE"."D_ID") 

では、この問題を解決するにはどうすればよいでしょうか。JDBC プログラムから D_ID を挿入する場合、D_ID列はテーブルに動的に ID を生成する必要があります。私はこれに頭を悩ませています。助けてください!

4

2 に答える 2

1

IDには自動インクリメント番号を使用する必要があります(I Oracleではシーケンスを使用できます)。リンクでこれを行うことができます:

Oracleで自動インクリメントでIDを作成する

これも読むべきです。ID にシーケンスがある場合は、ここでその情報を読み取ることができます。

于 2013-11-09T11:26:54.490 に答える