项目的结构并不是一成不变的,随着框架的优化,可能会改变数据库表结构。本次项目调整过程中,需要将主键类型由nvarchar转换成bigint
修改数据库表中主键类型并不是像普通字段那么轻松:
alter table BsOrg alter column BsOrgID bigint --消息 5074,级别 16,状态 1,第 3 行对象'PK_BSORG' 依赖于 列'BsOrgID'。 --消息 5074,级别 16,状态 1,第 3 行对象'FK_BSSTAFF2BSORG_REF_BSORG' 依赖于 列'BsOrgID'。 --消息 5074,级别 16,状态 1,第 3 行对象'FK_BSORG2ROLE_REF_BSORG' 依赖于 列'BsOrgID'。 --消息 5074,级别 16,状态 1,第 3 行对象'FK_BSORG2ORGTYPE_REF_BSORG' 依赖于 列'BsOrgID'。 --消息 4922,级别 16,状态 9,第 3 行由于一个或多个对象访问此 列,ALTER TABLE ALTER COLUMN BsOrgID 失败。
如果修改的字段是普通属性,那么或许就修改成功了,但是对于主键就束手无策了。如果数据表已有数据,那就更完完了。小北使用MSSQL 2016 ,修改主键类型采取步骤如下:
(1)创建临时表,备份源数据
编辑:孙小北
本文地址: https://www.xiaowangyun.com/wyblog/detail/?id=1075
版权归属: www.xiaowangyun.com 转载时请以链接形式注明出处
0 条评论