You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Win10下Postgres 14执行简单INSERT语句报错原因排查

PostgreSQL插入报错:malformed array literal 解决办法
  • 问题根源:你的contact_test表中,fname、lname或email字段的类型是数组类型(比如text[]),但你插入的是普通字符串值,PostgreSQL无法将单个字符串解析为数组,因此触发报错。
  • 先确认表字段类型:执行以下SQL查看表结构,明确哪个字段是数组类型:
    SELECT column_name, data_type FROM information_schema.columns WHERE table_name = 'contact_test';
    
  • 两种场景的解决方式:
    1. 若字段本应是普通文本类型(不是数组):
      • 修改字段类型为普通文本,比如针对fname字段执行:
        ALTER TABLE contact_test ALTER COLUMN fname TYPE text;
        
      • 对lname、email字段重复上述操作(如果它们也是数组类型),之后再执行原插入语句即可正常插入。
    2. 若字段确实需要是数组类型:
      • 插入时要遵循数组格式,两种写法任选:
        -- 写法1:用{}包裹的数组字面量
        INSERT INTO contact_test (fname, lname, email) VALUES ('{Robert}', '{Johnson}', '{rjohnsonn@gmail.com}');
        -- 写法2:使用array构造函数
        INSERT INTO contact_test (fname, lname, email) VALUES (array['Robert'], array['Johnson'], array['rjohnsonn@gmail.com']);
        

内容的提问来源于stack exchange,提问作者tom_ep

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 20:13:18