我將一張表導入到我的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。你能不能提供更多的空間,即使是暫時的? –
_「是否有任何可能的解決方法」_ - 清理硬盤。 –