如何在sql中将"null"修改为"not null"

Joy*_*979 2 sql database sql-server sql-server-2008

我有一个表,我需要从"null"更改为"not null".

我有一个具有以下结构的表:

Created_By   Created_Date_Time   Modified_By    Modified_Date_Time
NULL            NULL                -1                 NULL
NULL            NULL                -1                 NULL
NULL            NULL                -1                 NULL
Run Code Online (Sandbox Code Playgroud)

我需要改变Modified_By,从-1null.

我正在尝试以下查询,但它给了我一个错误:

update BOM_Rules
set Modified_By = not null
Run Code Online (Sandbox Code Playgroud)

错误:

Cannot insert the value NULL into column 'Modified_By', table 'dbo.BOM_Rules'; column does not allow nulls. UPDATE fails.
Run Code Online (Sandbox Code Playgroud)

我相信我错过了一些重要的事情.也许alter table

ALTER TABLE BOM_Rules
ALTER COLUMN Modified_By NVARCHAR(50) NOT NULL
Run Code Online (Sandbox Code Playgroud)

我正在使用SQL2008R2.

BSt*_*ham 6

听起来好像Modified_By列不允许空值.尝试更改列以允许空值:

ALTER TABLE BOM_Rules
ALTER COLUMN Modified_By NVARCHAR(50) NULL
Run Code Online (Sandbox Code Playgroud)