Debian 4.4.5-8, 64 비트에서 x86_64-pc-linux-gnu에 PostgreSQL 8.4.13을 사용하고 있습니다.PSQLException : 오류 : 열의 null 값이 null이 아닌 제약을 위반합니다.
나는 다음 표 만들었습니다 자바 응용 프로그램을 사용하여, 다음
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 개와'setString' 만 3 개입니까? 또한 그들은 순서가 잘못된 것 같습니다 ... – durron597
SQL 문에 물음표가 너무 많습니다 (3 개의 열을 지정하지만 5 개의 바인드 매개 변수 지정). 'id'를 삽입 열로 추가하고 물음표를 제거하거나 여분의 물음표를 제거하십시오. – Glenn
답변 해 주셔서 감사합니다. 여분의 물음표와 고장 명령은 간단한 버전을 제시하는 코드의 수정으로 인해 복사 붙여 넣기 오류가 발생했습니다. 나는 그것을 바로 잡았다. – Maestros