从Dropwizard应用程序中自动递增Postgres



我正在将我的dropwizard应用程序与Postgres数据库连接起来。我在启动应用程序服务器时动态创建表。

private static void createTableUser(Connection connection) throws SQLException {
    Statement statement= connection.createStatement();
    statement.executeUpdate("CREATE TABLE USERR"
            +"("+
            "id INTEGER,"+
            "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();
}

上面是创建我的表的函数。这样它运行良好。但我想id自动递增。我浏览了提供关键字"SERIAL", "BIGSERIAL", "SMALLSERIAL"建议的文章。

当我使用sql服务器时,我就是这样做的

id INTEGER IDENTITY (1)

这里也可以IDENTITY作为选项使用,但是当我尝试时,我遇到了错误

Exception in thread "main" org.postgresql.util.PSQLException: ERROR: syntax error at or near "IDENTITY"

谁能帮我?提前致谢

是的,使用建议id SERIAL

Postgres 中没有IDENTITY,因此使用 SERIAL 列将自动创建一个用于填充值的序列,给出相同的确切行为。

最新更新