sql语句在本地工作正常,但在服务器上工作不正常

z6psavjg  于 2021-07-09  发布在  Java
关注(0)|答案(1)|浏览(553)

我正在尝试在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

我的table create语句如下所示。

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的schema包含“id”作为主键,还有许多其他的。

rbpvctlc

rbpvctlc1#

id列没有链接到序列的默认值,您也不提供此值。

相关问题