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';
我创建了一个域:
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';