从 Dropwizard 应用程序在 Postgres 中自动递增
Auto Increment in Postgres from Dropwizard Application
我正在将我的 dropwizard 应用程序连接到 Postgres 数据库。我在启动应用程序服务器时动态创建 tables。
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();
}
以上是创建我的 table 的函数。这样它工作得很好。但我想让 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
列将自动创建一个用于填充值的序列,给出完全相同的行为。
我正在将我的 dropwizard 应用程序连接到 Postgres 数据库。我在启动应用程序服务器时动态创建 tables。
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();
}
以上是创建我的 table 的函数。这样它工作得很好。但我想让 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
列将自动创建一个用于填充值的序列,给出完全相同的行为。