我正在尝试在postgresql中插入一些数据。
PreparedStatement preparedStatement= connection.prepareStatement("INSERT INTO userr (joining_date, country_code, mobile_no, email_id) VALUES(?, ?, ?, ?) RETURNING id");
preparedStatement.setDate(1, currentDate);
preparedStatement.setInt(2, countryCode);
preparedStatement.setString(3, mobileNo);
preparedStatement.setString(4, emailId);
ResultSet x= preparedStatement.executeQuery();
当我在我的本地机器上尝试这个时,每件事情都可以。但是当我将它转移到我的服务器时它会抛出错误
org.postgresql.util.PSQLException:Error: null value in column "id" violates not-null constraint
我的表创建语句如下所示。
private static void createTableUser(Connection connection) throws SQLException {
Statement statement= connection.createStatement();
statement.executeUpdate("CREATE TABLE USERR"
+"("+
"id SERIAL,"+
"first_name VARCHAR(20),"+
"middle_name VARCHAR(20),"+
"last_name VARCHAR(20),"+
"age INTEGER,"+
"image_url VARCHAR(250),"+
"joining_date DATE ,"+
"country_code INTEGER,"+
"mobile_no VARCHAR(20),"+
"email_id VARCHAR(20),"+
"CONSTRAINT pk_user PRIMARY KEY (id)"+
")"
);
statement.close();
}
我不知道为什么会发生这种情况,即使它在当地运作良好。
N.B:userr的模式包含'id'作为主键,还有许多其他的。
答案 0 :(得分:0)
ID列没有链接到序列的默认值,您也没有提供此值。