如何使用T-SQL更改表中的一個屬性以允許空值(非空 - >空)?可能嗎?修改表:如何將'允許空值'屬性從非空更改爲允許爲空
回答
-- replace NVARCHAR(42) with the actual type of your column
ALTER TABLE your_table
ALTER COLUMN your_column NVARCHAR(42) NULL
或者只是'ALTER TABLE your_table ALTER COLUMN your_column NVARCHAR(42)',因爲如果沒有明確指定,它將默認允許空值。 – 2016-02-13 15:53:49
注意,如果需要更改多列以允許爲null,那麼您將需要單獨執行'ALTER TABLE .. ALTER COLUMN ..'命令 – sonyisda1 2017-02-17 15:14:29
請注意,有些情況下可能無法運行 - 請參閱[此DBA Stack Exchange答案] (https://dba.stackexchange.com/a/27293/158)如果您正在獲取'ALTER TABLE ALTER COLUMN失敗,因爲一個或多個對象訪問此列。' – 2017-09-06 19:09:28
ALTER TABLE是正確的:
ALTER TABLE MyCustomers ALTER COLUMN CompanyName VARCHAR(20) NULL
你確定你需要重新定義約束,而只是數據類型? [MSDN文章](http://msdn.microsoft.com/en-us/library/ms190273.aspx)沒有提到需要重新定義約束:「如果使用ALTER COLUMN指定NULL或NOT NULL, new_data_type [(precision [,scale])]也必須指定。如果數據類型,精度和比例沒有改變,請指定當前列值。 – 2010-10-08 11:34:09
@Daniel Vassallo - 你說得對。我試圖完成,但更改NULL/NOT NULL應該是唯一的變化。 – Oded 2010-10-08 11:56:17
是的,你可以使用ALTER TABLE
如下:
NULL
可以ALTER COLUMN
指定給力:ALTER TABLE [table name] ALTER COLUMN [column name] [data type] NULL
從
ALTER TABLE
文件引用一個NOT NULL
列以允許空值,但PRIMARY KEY約束中的列除外。
ALTER TABLE public.contract_termination_requests
ALTER COLUMN management_company_id DROP NOT NULL;
這是我在PostgreSQL上運行的答案。 – 2016-01-18 09:56:46
@ÁronLőrincz這個問題不是關於Postgres的。它被標記爲SQL Server,所以這個答案是不正確的。 – 2016-02-13 15:55:35
你是對的,但它仍然對我有幫助,我認爲這對於通過Google查找問題的人來說是一個有用的評論。問題的標題並沒有說明它是關於哪個數據庫服務器。 – 2016-02-14 16:29:46
可以使用
ALTER TABLE table_name ALTER COLUMN column-name DROP NOT NULL;
- 1. 更改列不應該允許爲空
- 2. 我如何使不允許列允許空和允許空列不允許空
- 3. 允許jTextField爲空?
- 4. 將現有列更改爲空時「保存更改不允許」
- 5. Sequelizejs - 爲允許爲空
- 6. select2 - 如何允許空值
- 7. Sequelize是允許用戶鍵入「空」甚至允許爲空:假
- 8. Joi:「tel」不允許爲空
- 9. ORACLE約束允許爲空值,如果
- 10. 允許空白
- 11. 空不允許,但應爲空
- 12. 允許將空值添加到列表
- 13. 如何更改.NET DateTimePicker控件以允許輸入空值?
- 14. 允許float在mySQL中爲空值
- 15. 查找允許爲空的表
- 16. 列不允許有空值
- 17. 如何允許分配爲主鍵的屬性中的空格?
- 18. Java列表允許空白
- 19. 允許空值的SQL更新
- 20. 如何在Orchard SchemaBuilder上允許空值?
- 21. EF6 - 註釋允許空字符串,但不允許爲null
- 22. 允許更改屬性的類
- 23. REGEX從列表中選擇第n個值,允許爲空
- 24. 不允許更改document.domain值
- 25. 獲取錯誤「列不允許爲空」
- 26. 爲什麼允許空的wchar_t文字?
- 27. 在joi中允許字符串爲空或空表示驗證
- 28. Fluent NHibernate - automapping:允許單個屬性爲空
- 29. 爲什麼允許修改argv [0]?
- 30. 允許空外鍵GUID
SQL Server Management Studio中創建這樣一個簡單的任務非常複雜的腳本。這就是爲什麼我感到困惑和檢查計算器。也許這就是問題的關鍵...... – Tillito 2013-02-16 20:36:26