私はDebian 4.4.5-8,64ビット版x86_64-pc-linux-gnuでPostgreSQL 8.4.13を使用しています。PSQLException:エラー:カラムのnull値がnullでない制約に違反しています
私は、次の表に作成しました:Javaアプリケーションを使用して、その後
CREATE TABLE users (
user_id serial PRIMARY KEY NOT NULL,
name varchar(200),
username varchar(150),
password varchar(150),
);
を、私は次のコードを実行します。
String insertTableSQL = "INSERT INTO USERS"
+ "(name, username, password) VALUES"
+ "(?,?,?)";
PreparedStatement preparedStatement = DBCon.prepareStatement(insertTableSQL);
preparedStatement.setString(1, userInfo.get("name"));
preparedStatement.setString(2, userInfo.get("username"));
preparedStatement.setString(3, userInfo.get("password")));
preparedStatement.executeUpdate();
ここでの問題は、のexecuteUpdate()は、以下が生成するということです例外:
org.postgresql.util.PSQLException: ERROR: null value in column "user_id" violates not-null constraint
奇妙なことは、 psqlを使用してsert文を実行すると、正常に実行されます。
アイデアをいただければ幸いです。
ありがとうございます。
5つの疑問符と3つの 'setString'しかないのはなぜですか?また、それらは順序が間違っているようです... – durron597
SQL文に3つの列を指定し、5つのバインドパラメータを指定すると、疑問符が多すぎます。挿入列として 'id'を追加し、疑問符を削除するか、余分な疑問符を削除してください。 – Glenn
ありがとうございました!余分な疑問符とアウト・オブ・オーダーの問題は、単純なバージョンを提示するコードの変更によるコピー・ペースト・エラーでした。私はそれを訂正した。 – Maestros