SQL domain ERROR: column does not exist, setting default

SQL domain ERROR: column does not exist, setting default

我创建了一个域:

CREATE DOMAIN public."POSTAL_CODE"
  AS character(5)
  NOT NULL;

我试过设置默认值:

ALTER DOMAIN public."POSTAL_CODE"
SET DEFAULT "00000";

但出现错误:

ERROR: column "00000" does not exist

然后我设法使用 DEFAULT 00000 设置默认值,但我认为它被强制转换为 INTEGER,因为它显示为 0 而不是 00000。我试过 character(5)[]{'0','0','0','0','0'} 也没有成功。

如何获取文本的默认值而不出错?

我用的是 PostgreSQL。

试试这个:值应该用单引号括起来,比如 '00000'

ALTER DOMAIN public."POSTAL_CODE" set default '00000';

试试这个

Alter table <table name> ALTER <column name> TYPE character varying, ALTER <column name> SET DEFAULT '00000'

在 SQL 双引号 " are used 中引用列或 table 名为 "select"

SQL 中的 string constant 是由单引号 (') 包围的任意字符序列,例如 'This is a string'。所以这与双引号字符 (")

不同

因此您必须像下面这样使用单引号

select * from test where old_code = '220088242'

所以在你的情况下它应该像下面这样

ALTER DOMAIN public."POSTAL_CODE"
    SET DEFAULT '00000';