SQL域错误:列不存在,设置为默认

时间:2018-08-14 09:08:18

标签: sql postgresql

我创建了一个域:

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

我尝试设置默认值:

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

但出现错误:

  

错误:列“ 00000”不存在

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

如何获取默认值作为文本而不出现错误?

我使用了PostgreSQL。

3 个答案:

答案 0 :(得分:2)

在SQL中用双引号" are used来引用名为“选择”的列或表

SQL中的string constant是由单引号(')界定的任意字符序列,例如'This is a string'。因此,这不同于双引号("

因此,您必须使用如下单引号

select * from test where old_code = '220088242'

因此您的情况应该类似于

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

答案 1 :(得分:1)

尝试以下操作:值应使用单引号,例如'00000'

[{"name:"aasha","id":"1","age":"25","address":"happay appartment"},
 {"name:"megha","id":"2","age":"21","address":"viajy nagar"},
 {"name:"sujeet","id":"11","age":"38","address":"pb road"}]

答案 2 :(得分:0)

尝试一下

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