CREATE TABLE customers
(
first_name character varying(15),
second_name character varying(20),
login character varying(15) NOT NULL,
password character varying(15),
email character varying(40),
gender gender,
register_date date,
date_of_birth date,
address character varying(40),
address_number integer,
town character varying(20),
CONSTRAINT login PRIMARY KEY (login)
)
我有一个表格,我创建了一个性别枚举,例如:
CREATE TYPE gender AS ENUM ( 'F', 'M',);
我将尝试使用PreparedStatement从Eclipse Java中插入客户数据,但是出现了错误,例如“ERROR:column“gender”是gender类型,但表达式是字符变量类型 提示:您需要重写或转换该表达式。”
我的Java代码如下:
PreparedStatement pre_state;
public enum gendertype {
F,
M;
}
pre_state = conn.prepareStatement("INSERT INTO"
+ " customers VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)");
pre_state.set(6, gendertype.F.toString());
'F'::text
,这将导致错误。 - Mike Christensen