gpt4 book ai didi

sql - 如何在SQL Server中更改主键的列长?

转载 作者:行者123 更新时间:2023-12-04 19:33:42 25 4
gpt4 key购买 nike

我知道如何更改列的长度,但是我的SQL语句失败,因为我要更改的列是PK,因此出现以下错误:


消息5074,第16级,状态1,第1行
对象“ PK_TableName”取决于列“ PersonID”。


PersonID = PK。

我读过What is the sql to change the field length of a table column in sql server,它仅适用于非PK列。

我尝试了这个:

ALTER TABLE table_name
ALTER COLUMN column_name <new datatype>

最佳答案

请参见下面的示例示例,如何增加主列的大小


创建一个样本表

create table abc (id varchar(10) primary key)
在关键约束表中查找主要约束

select object_name(object_id),* from sys.key_constraints where object_name(parent_object_id) = 'abc
掉落约束

ALTER TABLE abc
DROP CONSTRAINT PK__abc__3213E83F74EAC69B


(用收到的约束名称替换PK__abc__3213E83F74EAC69B。)
添加不为空

ALTER TABLE abc alter column id varchar(20) NOT NULL;
再次添加主键

ALTER TABLE abc
ADD CONSTRAINT MyPrimaryKey PRIMARY KEY (id)

关于sql - 如何在SQL Server中更改主键的列长?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30350822/

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