当前位置:  开发笔记 > 后端 > 正文

修改表:如何将"允许空值"属性从非null更改为允许为空

如何解决《修改表:如何将"允许空值"属性从非null更改为允许为空》经验,为你挑选了4个好方法。

如何使用T-SQL更改表中的一个属性以允许空值(非null - > null)?可能会改变表吗?



1> LukeH..:
-- 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)`因为如果没有明确指定,它将默认允许空值.
注意如果需要更改多个列以允许null,那么您将需要执行单独的`ALTER TABLE .. ALTER COLUMN ..`命令
请注意,在某些情况下,这可能行不通-如果由于以下原因导致ALTER TABLE ALTER COLUMN失败,请参阅[此DBA Stack Exchange答案](https://dba.stackexchange.com/a/27293/158)。或更多对象访问此列。

2> Daniel Vassa..:

是的你可以使用ALTER TABLE如下:

ALTER TABLE [table name] ALTER COLUMN [column name] [data type] NULL

引用ALTER TABLE文档:

NULL可以指定ALTER COLUMN强制NOT NULL列允许空值,但PRIMARY KEY约束中的列除外.



3> Oded..:

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])].如果未更改数据类型,精度和比例,请指定当前列值."

4> Vijay Nandwa..:

对于MySQL,MariaDB

ALTER TABLE [table name] MODIFY COLUMN [column name] [data type] NULL

使用MODIFY COLUMN代替ALTER COLUMN

推荐阅读
周扒pi
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有