Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何修改";空";至;“不为空”;在sql中_Sql_Sql Server_Database_Sql Server 2008 - Fatal编程技术网

如何修改";空";至;“不为空”;在sql中

如何修改";空";至;“不为空”;在sql中,sql,sql-server,database,sql-server-2008,Sql,Sql Server,Database,Sql Server 2008,我有一个表,需要从“null”更改为“notnull” 我有一个具有以下结构的表: Created_By Created_Date_Time Modified_By Modified_Date_Time NULL NULL -1 NULL NULL NULL -1 NULL NULL NULL

我有一个表,需要从“null”更改为“notnull”

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

Created_By   Created_Date_Time   Modified_By    Modified_Date_Time
NULL            NULL                -1                 NULL
NULL            NULL                -1                 NULL
NULL            NULL                -1                 NULL
我需要将
Modified\u By
-1
更改为
null

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

update BOM_Rules
set Modified_By = not null
错误:

Cannot insert the value NULL into column 'Modified_By', table 'dbo.BOM_Rules'; column does not allow nulls. UPDATE fails.
我肯定我错过了一些重要的事情。也许
改变表格

ALTER TABLE BOM_Rules
ALTER COLUMN Modified_By NVARCHAR(50) NOT NULL

我使用的是SQL2008R2。

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

ALTER TABLE BOM_Rules
ALTER COLUMN Modified_By NVARCHAR(50) NULL

没有
notnull
值。该术语仅用于DDL和
WHERE
子句。如果您希望某些内容不为null,则必须实际设置一个值
set Modified\u By=not null
应该在关键字“not”附近给出错误的语法
。因为这是无效的语法
。插入
NULL`时没有错误您的问题不一致。您说需要将“从“null”更改为“notnull”,但随后您说
Modified_By
字段包含
-1
,并且您希望将其更改为null。那么,是哪一个呢?这个问题的解释对我来说最有意义。我猜想他们一定是在运行
update BOM\u Rules set Modified\u By=null
,而不是他们在问题中所说的查询。