2
问:
不会丢失任何数据,哪能:
#1。将列数据类型从Varchar转换为Bigint?SQL - 从varchar转换列数据类型与依赖关系为bigint
比方说:
table1.my_ID = “12345” //默认为varchar
变化为:
table1.my_ID = 12345 //转换为bigint
#2。 ..以及我如何做到这一点,如果我的表有很多依赖关系?
我试过ALTER TABLE和ALTER COLUMN:
ALTER TABLE [MY_DATABASE].[dbo].table1
ALTER COLUMN my_ID BIGINT
,我得到了这些:
消息5074,级别16,状态1,行1
对象 'PK_table1' 依赖在'my_ID'列上。
消息5074,级别16,状态1,行1
对象'FK_table2_table1'依赖于'my_ID'列。
消息5074,级别16,状态1,行1
对象'FK_table3_table1'依赖于'my_ID'列。
..blah等等..
消息4922,级别16,状态9,1号线
ALTER TABLE ALTER COLUMN添加my_id失败,因为一个或多个对象 访问此列。
请大家帮忙。
谢谢!
为了帮助人们快速回答这个问题,你可以提供您的架构等的SQL-小提琴任何机会呢? –
最好是删除这些约束,创建新的列作为int,更新表与旧列填充新列,重新创建约束和删除varchar列 – Veljko89