我知道如何更改列的长度,但我的 SQL 语句失败,因为我尝试更改的列是 PK,因此出现以下错误:
消息 5074,16 级,状态 1,第 1 行
对象“PK_TableName”依赖于列“PersonID”。
人物ID = PK.
我读了更改sql server中表列的字段长度的sql是什么 https://stackoverflow.com/questions/4372176/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)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)