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