我有一个SQL Server 2008表,其中包含一个当前存储为bigint的外部用户引用 - 来自外部表的userid。我想扩展这个以允许电子邮件地址,开放ID等用作外部标识符。是否可以在不影响任何现有数据的情况下将列数据类型从bigint更改为varchar?
答案 0 :(得分:6)
是的,这应该是可能的,没问题 - 只要你让你的VARCHAR
字段大到足以保持BIGINT值: - )
你必须使用像这样的T-SQL:
ALTER TABLE dbo.YourTable
ALTER COLUMN YourColumnName VARCHAR(50) -- or whatever you want
那应该是它!由于所有BIGINT
值都可以转换为字符串,因此该命令应该可以正常工作,不会有丢失数据的危险。