【发布时间】:2020-03-24 12:50:28
【问题描述】:
这是我的 PostgreSQL 代码:
CREATE TABLE "user" (
id serial UNIQUE,
username varchar,
password varchar,
email varchar,
);
我想创建 Java 方法,它将新用户添加到我的表用户:
public static void addUser(Connection con) throws SQLException {
String sql = "INSERT INTO user VALUES (?, ?, ?)";
try(PreparedStatement ps = c.prepareStatement(sql)) {
ps.setString(1, "test");
ps.setString(2, "test");
ps.setString(3, "test@email.com");
ps.executeUpdate();
}
}
}
因为列 id 是串行的,所以我不会为此列创建准备好的语句(即使没有 java,我也会只插入剩余的值,因为 id 会自动生成)。但是,当我运行此代码时,出现以下错误:
ERROR: column "id" is of type integer but expression is of type character varying
我做错了什么?
【问题讨论】: