我在PostgreSQL 9.数组字段在数据库中定义:3 U! S' e: h7 D0 Y" N! w$ u
character varying(64)[]我能有一个空数组,比如{}作为这个字段的默认值吗?什么是语法?9 M. _: c1 S& }- ^
若只设置方括号{},则会出现以下错误:7 U: R9 n' n. L3 j$ N4 U4 a
SQL error:ERROR: syntax error at or near "{"LINE 1: ...public"."accounts" ALTER COLUMN "pwd_history" SET DEFAULT ^In statement:ALTER TABLE "public"."accounts" ALTER COLUMN "pwd_history" SET DEFAULT # Y; I* {/ k# i" J5 G }/ L, B8 m解决方案: 9 s9 p$ l) m$ \" H+ v 您需要使用显式array将初始化程序强制转换为正确类型: % j. A/ L& d* q r8 NALTER TABLE public.accounts ALTER COLUMN pwd_history SET DEFAULT array[]::varchar[];