是否可以一次添加具有唯一约束的列?
Is it possible to add a column with unique constraint in one go?
我想将 email
列添加到具有 UNIQUE
约束的现有 table。是否可以用一个语句来做到这一点?
当我尝试时:
ALTER TABLE "Corporates"
ADD COLUMN "email" varchar(100) NOT NULL
CONSTRAINT "Corporates_email_key" UNIQUE ("email")
查询失败并出现错误:
ERROR: syntax error at or near "("
LINE 3: CONSTRAINT "Corporates_email_key" UNIQUE ("email")
^
SQL state: 42601
Character: 120
OTOH 我可以单独 运行 以下两个陈述:
ALTER TABLE "Corporates"
ADD COLUMN "email" varchar(100) NOT NULL
然后:
ALTER TABLE "Corporates"
ADD CONSTRAINT "Corporates_email_key" UNIQUE ("email")
成功了。
您需要第二个 ADD
选项:
ALTER TABLE corporates
ADD COLUMN email varchar(100) NOT NULL,
ADD CONSTRAINT corporates_email_key UNIQUE (email);
我想将 email
列添加到具有 UNIQUE
约束的现有 table。是否可以用一个语句来做到这一点?
当我尝试时:
ALTER TABLE "Corporates"
ADD COLUMN "email" varchar(100) NOT NULL
CONSTRAINT "Corporates_email_key" UNIQUE ("email")
查询失败并出现错误:
ERROR: syntax error at or near "("
LINE 3: CONSTRAINT "Corporates_email_key" UNIQUE ("email")
^
SQL state: 42601
Character: 120
OTOH 我可以单独 运行 以下两个陈述:
ALTER TABLE "Corporates"
ADD COLUMN "email" varchar(100) NOT NULL
然后:
ALTER TABLE "Corporates"
ADD CONSTRAINT "Corporates_email_key" UNIQUE ("email")
成功了。
您需要第二个 ADD
选项:
ALTER TABLE corporates
ADD COLUMN email varchar(100) NOT NULL,
ADD CONSTRAINT corporates_email_key UNIQUE (email);