gpt4 book ai didi

tsql - 如果表没有主键,则将列设置为主键

转载 作者:行者123 更新时间:2023-12-03 09:17:29 35 4
gpt4 key购买 nike

我在db中有一列,其中有5列但没有主键。
列之一名为myTable_id,为整数。

我想检查表是否具有主键列。如果不是,则将myTable_id设置为主键列,并使其成为标识列。有没有办法做到这一点?

我尝试了这个:

ALTER TABLE Persons
DROP CONSTRAINT pk_PersonID

ALTER TABLE Persons
ADD PRIMARY KEY (P_Id)

我在Management Studio中收到语法错误。

最佳答案

这检查主键是否存在,如果不存在则创建

IF NOT EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS 
WHERE CONSTRAINT_TYPE = 'PRIMARY KEY' AND TABLE_NAME = 'Persons'
AND TABLE_SCHEMA ='dbo')
BEGIN
ALTER TABLE Persons ADD CONSTRAINT pk_PersonID PRIMARY KEY (P_Id)
END
ELSE
BEGIN
-- Key exists
END

fiddle : http://sqlfiddle.com/#!6/e165d/2

关于tsql - 如果表没有主键,则将列设置为主键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14647043/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com