表格已滿,其中包含數據。是否可以將字段從[not null]更改爲[null]而不刪除並重新創建它? SQL寫入該表必須被刪除並重新創建。 :)SQL。更改要求重新創建表格
回答
你可以試試:
alter table YourTable alter column YourColumn int null
每馬丁史密斯評論,在空性的改變不需要表的副本。在磁盤上,每一行在開始時都有一個nullabiltiy bitmap。我認爲在某些情況下位圖必須調整大小,但顯然它包含了一些對於每列可空或不可空的位。
最後一部分是不正確的。 NULL_BITMAP包含所有列的位,而不管可爲空。 [即使添加一個新的第9,第17等列不需要這個。](http://sqlskills.com/BLOGS/PAUL/post/Misconceptions-around-adding-columns-to-a-table.aspx) – 2012-01-30 09:37:36
@馬丁史密斯:謝謝,確實有誤解。這鏈接到[全文](http://sqlskills.com/BLOGS/PAUL/post/Misconceptions-around-null-bitmap-size.aspx) – Andomar 2012-01-30 09:56:02
我想添加一個有趣的評論。 SQL Server菜單中也有一個選項。只需從Options \ Designer中刪除一個勾號「阻止保存需要表格娛樂的更改」。 – Spirit 2012-01-30 16:02:08
您是否嘗試過使用ALTER TABLE XXX ALTER COLUMN YYY YOURTYPE NULL
命令?
這可能幫助:
ALTER TABLE [Table] ALTER COLUMN [Column] [YourDataType] NULL
- 1. Django:重新創建表格
- 2. 保存更改是不允許的。您所做的更改需要刪除並重新創建以下表格
- 3. 如何根據以下要求創建表格? [SQL]
- 4. 刪除允許空複選框,,要求重新創建表
- 5. 從更改分區重新創建schema.db
- 6. 動態重新創建表格佈局
- 7. 「禁止保存需要的表更改重新創建」負面影響
- 8. 更新SQL表以創建訂單號
- 9. 當表更改自定義時,將Linq重新創建爲Sql代碼
- 10. 重新計算表格價格而不更改表格名稱
- 11. 創建SQL表格,在Excel更新時自動從Excel導入
- 12. 更新SQL表而不創建重複項
- 13. 在單元格(範圍內)更改後創建新工作表
- 14. 如何要求窗格重新佈局
- 15. SQL Server:如果底層表發生更改,則需要重新創建使用SELECT *的視圖
- 16. #SQL - 比較不同的表格並創建一個新表格
- 17. 更改Django的管理員創建/更改表格佈局
- 18. SQL從多個表格創建表格
- 19. 在SQL中創建表格
- 20. 從CSV創建HTML表格,並在需要滿足要求時將信息更改爲圖像
- 21. SQL:更新表格中的表格
- 22. 通過php表格更新SQL表格
- 23. 創建或更新的Rails 4 - 更新,但還創建(重構)
- 24. Ormlite 4.9上創建表,並創建或更新功能改變
- 25. Android:更新表格行SQL
- 26. 更新表格pl/sql
- 27. 從PHP更新SQL表格
- 28. Gerrit在嘗試提交更改時要求重新綁定
- 29. 如何在創建表格後更新表格中的列?
- 30. 需要幫助在groovy-wslite中重新創建SOAP請求
的可能重複[更改列:空不空(http://stackoverflow.com/questions/689746/altering-a-column-null-to-非空) – 2012-01-30 09:34:30
我們在談論哪個數據庫? SQL只是一種查詢語言,它沒有指定你正在使用的數據庫。例子; MySQL,MSSQL,PostgreSQL等。 – Hubro 2012-01-30 09:34:30
你不應該使用可視化設計器 - 它在很多方面都相當有限。學習如何使用T-SQL來表達這些修改,並在您的Mgmt Studio中將它們作爲語句執行 - 實際上,不需要爲此更改刪除表。 – 2012-01-30 10:40:34