Oracle资深用户转PostgreSQL:插入单条数据触发数组错误求助
问题解决:PostgreSQL插入数据报数组格式错误
核心原因
你以为表结构是(col1 varchar(10),col2 integer,col3 varchar(20)),但实际表中至少有一个字段(大概率是col1)被定义成了数组类型(比如varchar(10)[])。PostgreSQL收到普通字符串后,会按照数组字面量的规则去解析,自然触发格式错误。
解决步骤
- 先确认表的真实结构,执行以下SQL:
或者直接在pgAdmin的图形界面中查看表的字段类型,验证是否有字段被误定义为数组。\d tablename; - 如果确实是字段类型错误,将其修改为普通字符类型(以col1为例):
ALTER TABLE tablename ALTER COLUMN col1 TYPE varchar(10); - 若你确实需要使用数组类型,插入时需遵循PostgreSQL数组的语法格式:
insert into tablename values('{"First Name"}',23,'Last Name');
内容的提问来源于stack exchange,提问作者user24714292
相关产品推荐
相关产品推荐

