我在db中有一列有5列但没有主键.其中一列名为myTable_id,为整数.
我想检查表是否有主键列.如果没有,则将myTable_id设为主键列并使其成为标识列.有没有办法做到这一点?
我试过这个:
ALTER TABLE Persons
DROP CONSTRAINT pk_PersonID
ALTER TABLE Persons
ADD PRIMARY KEY (P_Id)
Run Code Online (Sandbox Code Playgroud)
我在Management studio中遇到语法错误.
Urb*_*man 47
这将检查主键是否存在,如果不存在则创建主键
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
Run Code Online (Sandbox Code Playgroud)
小提琴:http://sqlfiddle.com/#!6/ e165d/2
ALTER TABLE Persons
ADD CONSTRAINT pk_PersonID PRIMARY KEY (P_Id)
Run Code Online (Sandbox Code Playgroud)