在我的表格中,我有3列(name, dept, MobNo
)的主键。
现在我想将其更改为两列(Name, MobNo
)。
有没有办法可以改变主键约束而不丢弃它?
我知道我可以删除旧约束并且可以创建新约束而不会丢弃旧约束,可以改变它吗?
答案 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版本一样)