[英]Empty array as PostgreSQL array column default value
我在 postgresql 9.4 數據庫中定義了一個數組字段:
character varying(64)[]
我可以有一個空數組,例如 {} 作為該字段的默認值嗎? 設置的語法是什么?
如果只設置括號 {},我會收到以下錯誤:
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 {}
您需要使用顯式array
初始值設定項並將其轉換為正確的類型:
ALTER TABLE public.accounts
ALTER COLUMN pwd_history SET DEFAULT array[]::varchar[];
我測試了接受的答案和評論中的答案。 他們都工作。
我會將評論歸結為答案,因為這是我的首選語法。 🙂
ALTER TABLE public.accounts
ALTER COLUMN pwd_history SET DEFAULT '{}';
它在找不到SET
地方拋出了一個錯誤。 這對我有用。
ALTER TABLE public.accounts
ALTER COLUMN pwd_history DEFAULT array[]::varchar[];
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.