更改主键约束

时间:2015-12-04 09:51:56

标签: sql sql-server database

在我的表格中,我有3列(name, dept, MobNo)的主键。

现在我想将其更改为两列(Name, MobNo)。

有没有办法可以改变主键约束而不丢弃它?

我知道我可以删除旧约束并且可以创建新约束而不会丢弃旧约束,可以改变它吗?

2 个答案:

答案 0 :(得分:1)

唯一的方法是使用Alter表删除约束,然后重新创建它。

ALTER TABLE <Table_Name>
DROP CONSTRAINT <constraint_name>

ALTER TABLE <Table_Name>
ADD CONSTRAINT <constraint_name> PRIMARY KEY (<Column1>,<Column2>)

答案 1 :(得分:0)

如果您(可能)依赖于该PK,您还必须删除它们并重新创建它们。要自动完成所有这些操作,SSMS右键单击表格会更容易,选择Design,然后在左上方的工具栏中单击名为Manage indexes and Keys的按钮。从那里你做出改变,最后,你有两个选择:

  • 你关闭并保存你的更改(它工作正常,但你没有学到任何东西)
  • 而是单击Generate change script,以便稍后检查并执行脚本

(至少它与我的SSMS 2014版本一样)