代码之家  ›  专栏  ›  技术社区  ›  banan3'14

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

  •  1
  • banan3'14  · 技术社区  · 8 年前

    我创建了一个域:

    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 回复  |  直到 7 年前
        1
  •  4
  •   a_horse_with_no_name    8 年前

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

    string constant 在SQL中是由单引号限定的任意字符序列( ' ),例如 'This is a string' " )

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

    select * from test where old_code = '220088242'
    

    ALTER DOMAIN public."POSTAL_CODE"
        SET DEFAULT '00000';
    
        2
  •  1
  •   Fahmi    8 年前

    试试这个:值应该是像“00000”这样的单引号

    ALTER DOMAIN public."POSTAL_CODE" set default '00000';
    
        3
  •  0
  •   Avi    8 年前

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