我在PostgreSQL 9.数组字段在数据库中定义:+ `$ z/ y* q1 J# n4 {
character varying(64)[]我能有一个空数组,比如{}作为这个字段的默认值吗?什么是语法?/ ?& A# x* ~ p. }. Z6 t
若只设置方括号{},则会出现以下错误: : \' j9 n6 N! _1 C+ R$ p. ISQL 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 # Q, \7 D; O* r; m解决方案: * Z8 u [% C) R! l( a5 V 您需要使用显式array将初始化程序强制转换为正确类型:$ C. B, B7 {0 g7 `/ q& }" d- L
ALTER TABLE public.accounts ALTER COLUMN pwd_history SET DEFAULT array[]::varchar[];