我在PostgreSQL 9.数组字段在数据库中定义:' w) i8 C; c4 w* K0 r
character varying(64)[]我能有一个空数组,比如{}作为这个字段的默认值吗?什么是语法?* t6 l; f9 i" z. S9 P
若只设置方括号{},则会出现以下错误:5 A3 m. p+ O* K0 y6 ]7 ~0 _* `5 D# T
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 . c5 k4 v4 x: ^( d4 a' B 解决方案: . p2 `( D/ T3 I4 g7 L
您需要使用显式array将初始化程序强制转换为正确类型: , q: L9 d+ A7 z$ m/ A( ?5 BALTER TABLE public.accounts ALTER COLUMN pwd_history SET DEFAULT array[]::varchar[];