如何使用T-SQL脚本更改SQL Server中的主键列?

时间:2016-12-22 05:12:31

标签: sql sql-server

有没有办法从主键中删除列?我不是在谈论Alter主键约束。我只想使用T-SQL脚本从主键中释放一列。我可以通过右键单击列名修改列来完成。但不能使用T-SQL脚本执行相同的任务。有没有想过如何完成这项任务?

2 个答案:

答案 0 :(得分:0)

删除并重新创建Index是唯一的方法,即使使用Management Studio也是如此。

在Management Studio中,右键单击表格,选择“设计”并查看“界面”。进行一些更改后,在保存更改之前,右键单击表设计并选择"生成更改脚本..."你会看到管理工作室做什么,"在幕后"。 它实际上是删除表,使用新的更改重新创建它并将数据添加回表中。

答案 1 :(得分:0)

您可以使用T-SQL完成此操作。我们假设您的表名为branch

首先,我们将使用以下查询获取主键约束名称:

<强>查询

SELECT name
FROM sys.key_constraints
WHERE [type] = 'PK'
  AND [parent_object_id] = Object_id('dbo.branch');

<强>结果

'PK_Branch'

现在我们在另一个查询中使用该结果来删除主键。此查询将从branch表中删除主键。

<强>查询

ALTER TABLE dbo.branch
DROP CONSTRAINT PK_Branch