Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/23.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
Asp.net SQL Server management studio 2005在创建表后不会更改数据类型_Asp.net_Sql Server_Database_Constraints - Fatal编程技术网

Asp.net SQL Server management studio 2005在创建表后不会更改数据类型

Asp.net SQL Server management studio 2005在创建表后不会更改数据类型,asp.net,sql-server,database,constraints,Asp.net,Sql Server,Database,Constraints,“tblEmployee”表 -无法创建索引“PK_tblEmployee_72C60C4A”。 无法在表“tblEmployee”中的可空列上定义主键约束。 无法创建约束。请参阅前面的错误。这是因为可能选中了NULL left的第三列。或者,您可能正在更改此表,其中包含数据,并且您试图使PK的列在某处具有空值 请注意,在将列转换为PK之前,请确保该列不为null且具有唯一值。如果发生更改,则错误明确表示您正在尝试添加可为null的列。允许Nulls被勾选为不允许的主键的一部分 您需要将列的定义

“tblEmployee”表 -无法创建索引“PK_tblEmployee_72C60C4A”。 无法在表“tblEmployee”中的可空列上定义主键约束。
无法创建约束。请参阅前面的错误。

这是因为可能选中了NULL left的第三列。或者,您可能正在更改此表,其中包含数据,并且您试图使PK的列在某处具有空值


请注意,在将列转换为PK之前,请确保该列不为null且具有唯一值。如果发生更改,则错误明确表示您正在尝试添加可为null的列。允许Nulls被勾选为不允许的主键的一部分

您需要将列的定义更改为不允许NULL…但是,如果列中的任何值已为NULL,则需要更新表以首先为它们提供一些值,然后可以取消选中allow nulls并将此列作为主键的一部分添加

e、 g假设您现有的键列是EmployeeID,并且您希望将DepartmentID添加为该键的一部分,但其中的值为null,并且由于某些原因,您无法删除表中的数据。虽然我个人建议您这样做,但是在表中没有数据的情况下,更改键等更容易

按EmployeeID ASC更新员工设置部门ID=订单上的行号-例如 然后在表设计器中取消选中Allow Nulls并保存,如果由于必须重新创建表才能保存该表而不允许保存,请转到工具->选项->设计器并取消选中阻止保存需要重新创建表的更改框。 最后,将列添加到PK并保存表,然后需要返回并将DepartmentID的实际值放入表中。
显然,无论选择哪个值来更新列,当与其他PK列组合时,仍然需要生成一个唯一的键…

您正在执行的操作以及出现此错误的时间。请详细说明从sql 2005更改我的列的数据类型的步骤,然后在我保存检查表是否包含记录并且该列内部为空时出错,但“防止保存需要重新创建表的更改”框中的选项不显示sql server management studio2005@ShivNarwariya-你百分之百确定吗?在SSQL2005上,它可能位于表和数据库设计器之下,而不仅仅是设计器之下。恐怕我没有Sql 2005要检查…在任何情况下,如果它真的不存在,那么您必须将所有表数据发送到临时表并在那里更新,然后丢弃原始表,进行pk更改并将临时数据复制回。