尝试在SQL 2016中将非NULL值列设置为NULL

问题描述:

试图将非NULL值列设置为NULL“在SQL服务器中使用MERGE语句时出现错误消息。问题在SQL 2012 SQL 2008 NAD(https://support.microsoft.com/en-in/kb/2671078尝试在SQL 2016中将非NULL值列设置为NULL

任何人都可以有想法是否固定在SQL 2016?

感谢

+0

请在这里澄清你的问题。当你确定你没有试图这样做时,你是否得到了“你不能设置一个不可为空的列为空”的错误? – iamdave

我今天遇到了这个问题,这个问题来到了一个我尝试显示的列上有一个破损的索引,我加入了两个表共有的公司ID列。 ay公司主表中的公司名称加入发票表。 我收到此错误: 消息681,级别16,状态3,行12 试图设置一个非NULL值列为NULL。 我查询了这两个表的空公司ID,并没有。我查询了公司的公司名称,没有公司名称。如果我从查询中删除了列公司名称,它就起作用了。在公司主表上有公司名称列的索引。 我使用估计的执行计划来查看破损的查询使用公司主表上的公司名称索引。由于该列不在工作查询中,我开始查看索引。 我试图重建它们并且公司名称索引无法重新生成错误: 试图将非NULL值的列值设置为NULL。 (Microsoft SQL Server,错误:681)

要解决,我删除并重新创建索引。