我有一个包含枚举类型字段的表。我使用pg_query
执行以下查询INSERT INTO users (email, facebook_id, first_name, middle_name, last_name, birth_date, password, gender, school_id, timezone, email_verified, role_id) VALUES ('robert@1599309412.com', NULL, 'Robert', '', 'George', '1984-05-20', 'Some password', 'MALE', 1, '0.0', false, 1 );
pg_query($connection, 'INSERT INTO users (email, facebook_id, first_name, middle_name, last_name, birth_date, password, gender, school_id, timezone, email_verified, role_id) VALUES (\'robert@2084537193.com\', NULL, \'Robert\', \'\', \'George\', \'1984-05-20\', \'Some password\', \'MALE\', 1, \'0.0\', false, 1 )')
但我得到的错误如下。
PHP警告:pg_query():查询失败:错误:枚举性别的输入值无效:“MALE” 第1行:...... rt','','George','1984-05-20','有些密码','MALE',1,......
在postgres客户端直接执行查询不会出现此错误。这是什么解决方案?
答案 0 :(得分:0)
enum
'd是不必要的开销,你最好拥有一个{0}的male
int列和未知/未指定的null。值大于1时,如果出现新的性别,它仍然是面向未来的。 :)