我想将email
列添加到具有UNIQUE
约束的现有表中。是否可以使用一条语句来执行此操作?
当我尝试:
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);