当前位置: 代码迷 >> Sql Server >> 更改table的條件約束出現問題求解,该如何处理
  详细解决方案

更改table的條件約束出現問題求解,该如何处理

热度:78   发布时间:2016-04-27 14:01:10.0
更改table的條件約束出現問題求解
小弟建了一張table 日常用語語句表 想要把這張表的<語句數量>欄建的Primary key改成UNIQUE
把<你說什麼>欄建的UNIQUE改成Primary key
下了以下的指令


SQL code
alter table 日常用語語句表_語句數量DROP CONSTRAINT PK_日常用語語句表_語句數量 alter table 日常用語語句表_你說什麼DROP CONSTRAINT UQ_日常用語語句表_你說什麼alter table 日常用語語句表_你說什麼ADD CONSTRAINT  UQ_日常用語語句表_你說什麼 Primary keyalter table 日常用語語句表_語句數量ADD CONSTRAINT  PK_日常用語語句表_語句數量  UNIQUEGO


可是出現了兩條錯誤信息

訊息 8135,層級 16,狀態 0,行 5
資料表層級的條件約束並未指定資料表 '日常用語語句表_你說什麼' 的資料行清單。
訊息 8135,層級 16,狀態 0,行 7
資料表層級的條件約束並未指定資料表 '日常用語語句表_語句數量' 的資料行清單。

請問這部分的代碼要如何更動?


------解决方案--------------------
alter table tbname drop constraint 约束名 --约束名可以在 use 数据库名 go sp_help 表明中找到! 你表表名用中文,又用繁体字我这看不懂! 不过删除主键约束的时候是不是要把外键约束先删除! 添加约束的时候不一样! 你这些约束添加到那个列上都没有指定 
alter table 日常用語語句表_你說什麼
ADD CONSTRAINT UQ_日常用語語句表_你說什麼 Primary key
alter table 日常用語語句表_語句數量
ADD CONSTRAINT PK_日常用語語句表_語句數量 UNIQUE
GO


--没有指定要添加约束的列名! 约束不是建在表上的。。是建立在列上的
  相关解决方案