代码之家  ›  专栏  ›  技术社区  ›  Graham Chiu

如何在Firebird中删除唯一约束

  •  2
  • Graham Chiu  · 技术社区  · 14 年前

    我有这张桌子

    CREATE TABLE "VACCINE" 
    (
      "CVX"  INTEGER,
      "CPT"  CHAR(5),
      "SHORTNAME"  VARCHAR(20),
      "FULLNAME"  VARCHAR(256),
      "VTYPE"  CHAR(1),
     UNIQUE ("CVX")
    );
    

    但事实证明,CVX毕竟不是唯一的。如何删除唯一约束?

    我可以这样得到约束的名称

    select rdb$constraint_name from rdb$relation_constraints where rdb$relation_name = 'VACCINE'
    

    但是我做了这个之后会有语法错误

    alter table vaccine drop constraint 'INTEG_400'
    

    其中,integ_400是选择的结果。

    1 回复  |  直到 14 年前
        1
  •  4
  •   Hugues Van Landeghem    14 年前

    我认为这是可行的:

    alter table vaccine drop constraint INTEG_400
    

    尝试用 IBExpert :它会显示代码