我将一张表导入到我的MS SQL数据库中。该表格非常大,几乎完全填满了数据库。我使用的导入工具将我的数字列保存为varchar(50)
,但我希望它们是整数。因此,我将列更改为int
。为什么将varchar(50)中的列改为int需要更多空间
alter table <my_table> alter column <my_column> int
据我所知,int
列应该花费更少的磁盘空间,但上的可用空间不足的错误上面的查询失败。
是什么原因导致此问题,并且是否有任何可能的解决方法?
你是什么意思?一个'INT'上升到2^31-1(2,147,483,647),'VARCHAR(50)'可以上升到'''99999999999999999999999999999999999999999999999999'' – Lamak
我觉得在引擎盖下它会是添加另一列,填充它,然后在最后做一个switcheroo。你能不能提供更多的空间,即使是暂时的? –
_“是否有任何可能的解决方法”_ - 清理硬盘。 –