大概是只仓鼠 2021-07-30 14:55 采纳率: 76.3%
浏览 40
已结题

SQL SEVER 如何修改一个主键类型

是个多主键的数据表
想把他从varchar(50)变成16
但是用这段语句
alter table pudb.[PPU01].[PU011]
ALTER COLUMN chpart VARCHAR(16)
会产生错误
Msg 5074, Level 16, State 1, Line 1
The object 'PK_PU011' is dependent on column 'chpart'.
Msg 4922, Level 16, State 9, Line 1
ALTER TABLE ALTER COLUMN chpart failed because one or more objects access this column.

  • 写回答

2条回答 默认 最新

  • 大概是只仓鼠 2021-07-30 15:09
    关注

    alter table 表名
    drop CONSTRAINT 主键约束

    alter table 表名
    alter column 字段1 varchar(16)not null

    alter table 表名
    add CONSTRAINT 主键约束 primary key(字段1,字段2)

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 8月7日
  • 已采纳回答 7月30日
  • 修改了问题 7月30日
  • 创建了问题 7月30日