CREATE TABLE Persons
(
 Id_p int UNIQUE not null,
 LastName VARCHAR(255) NOT NULL,
 FirstName VARCHAR(255),
 Address VARCHAR(255),
 CityName VARCHAR(255),
)
ALTER TABLE Persons
ADD UNIQUE(LastName)
GOALTER TABLE Persons
DROP CONSTRAINT LastName
运行ALTER TABLE Persons
DROP CONSTRAINT LastName出现了问题
Msg 3728, Level 16, State 1, Line 1
'LastName' is not a constraint.
Msg 3727, Level 16, State 0, Line 1
Could not drop constraint. See previous errors.
怎么解决啊?

解决方案 »

  1.   

    ALTER TABLE Persons
    DROP CONSTRAINT LastName
    --加上括号
    ALTER TABLE Persons
    DROP CONSTRAINT(LastName)
      

  2.   

    ALTER TABLE Persons
    DROP CONSTRAINT(LastName)
      

  3.   

    CREATE TABLE Persons
    (
      Id_p int UNIQUE not null,
      LastName VARCHAR(255) NOT NULL,
      FirstName VARCHAR(255),
      Address VARCHAR(255),
      CityName VARCHAR(255),
    )
    ALTER TABLE Persons
    ADD CONSTRAINT u_LastName UNIQUE(LastName)
    GOALTER TABLE Persons DROP CONSTRAINT u_LastName
      

  4.   

    ALTER TABLE Persons
    ADD UNIQUE(LastName)
    GOALTER TABLE Persons
    DROP CONSTRAINT LastName
    ------
    问题出在你的UNIQUE约束没有名字,然后系统会默认一个名字。
    删除约束,是删除约束的名字而不是字段的名字。
    ---
    ALTER TABLE Persons
    ADD constraint UN_LASTNAME UNIQUE(LastName)
    GO
    alter table p drop UN_LASTNAME
      

  5.   

    你这样没有指定约束名字,是系统随即建立的名字,如果要指定名字删除,需要这样CREATE TABLE Persons
    (
     Id_p int UNIQUE not null,
     LastName VARCHAR(255) NOT NULL,
     FirstName VARCHAR(255),
     Address VARCHAR(255),
     CityName VARCHAR(255),
    )
    ALTER TABLE Persons
    ADD CONSTRAINT UQ_LastName UNIQUE(LastName)
    GOALTER TABLE Persons
    DROP CONSTRAINT UQ_LastName