Dynamic SQL generation for the UpdateCommand is not Supported against a SelectCommand that does not return any key column inform

本文详细介绍了数据库中主键约束的概念、作用以及如何在实际应用中正确使用主键约束,确保数据的唯一性和完整性。

设定主键
A record has been retrieved from a database and an attempt has been made to update the record, however the database table lacks a primary key and therefore there is no way to update the required record.

PRIMARY   KEY   约束  
表中经常有一个列或列的组合,其值能唯一地标识表中的每一行。这样的一列或多列称为表的主键,通过它可强制表的实体完整性。当创建或更改表时可通过定义   PRIMARY   KEY   约束来创建主键。  
   
一个表只能有一个   PRIMARY   KEY   约束,而且   PRIMARY   KEY   约束中的列不能接受空值。由于   PRIMARY   KEY   约束确保唯一数据,所以经常用来定义标识列。  
   
当为表指定   PRIMARY   KEY   约束时,Microsoft®   SQL   Server?   2000   通过为主键列创建唯一索引强制数据的唯一性。当在查询中使用主键时,该索引还可用来对数据进行快速访问。  
   
如果   PRIMARY   KEY   约束定义在不止一列上,则一列中的值可以重复,但   PRIMARY   KEY   约束定义中的所有列的组合的值必须唯一  
-----------------------  
当向表中的现有列添加   PRIMARY   KEY   约束时,Microsoft®   SQL   Server?   2000   检查列中现有的数据以确保现有数据遵从主键的规则:    
无空值
无重复值    
如果   PRIMARY   KEY   约束添加到具有空值或重复值的列上,SQL   Server   不执行该操作并返回错误信息。不能添加违背上述规定的   PRIMARY   KEY   约束。  
SQL   Server   自动创建唯一的索引来强制   PRIMARY   KEY   约束所要求的唯一性。如果表中不存在聚集索引或未明确指定非聚集索引,则将创建唯一的聚集索引强制   PRIMARY   KEY   约束。  
-----------------------  
主键中的一个键值是根据另一个表的主键而来(就是外键)时,则该列的值必须在另一个表的主键值中存在。另外,当要删除另一个表的主键约束时,必须要先删除这个   FOREIGN   KEY   (外键)约束才能进行删除另一个表的PRIMARY   KEY(主键)   约束  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值