SQLServer通过sql修改表主键

先查询出主键的内码,然后删除该主键

DECLARE @NAME SYSNAME
DECLARE @TB_NAME SYSNAME
	SET @TB_NAME = '表名'
	SELECT TOP 1 @NAME = NAME FROM SYS.OBJECTS WITH(NOLOCK)
WHERE TYPE_DESC ='PRIMARY_KEY_CONSTRAINT' AND PARENT_OBJECT_ID = (SELECT OBJECT_ID FROM SYS.OBJECTS WITH(NOLOCK) WHERE NAME = @TB_NAME )
SELECT @NAME
	DECLARE @ALTERSQL NVARCHAR(MAX)
SET @ALTERSQL=N'ALTER TABLE '+@TB_NAME+' DROP CONSTRAINT '+@NAME
	EXEC SP_EXECUTESQL @ALTERSQL;
GO

然后再添加主键

ALTER TABLE 表名 ADD PRIMARY KEY (主键1, 主键2)
GO

猜你喜欢

转载自blog.csdn.net/jiaowohaohao/article/details/105490690