请问这是怎么回事?"键列信息不足或不正确,更新影响到过多的行"
---------------------------------------------------------------
你在MMC中删除时,因为它要去找能确定你要删除的记录的条件,
就象
delect table where aa=xx and bb=YY
但是这个条件在表中有两条记录,所以系统认为你的条件不充分,所以它不知道应该把两条中的哪一条删除,所以出现上面的提示。
TRY:
select * into #temp from table where ........ --条件选出那两条
delete table where.......
insert into table
select top1 * from #temp
---------------------------------------------------------------
好象不事吧!
感觉是sql server刷新力度不够(因为插入一条记录时也会出现上述情况)
所有修改请在查询分析器中完成
---------------------------------------------------------------
这种情形一般发生在 你有多样数据完全一样的情况下发生的,修改或删除其中某一行就会发生上述错误,因为数据库不知你要删除那一行。
你应该实在企业管理起中这样做的,要么在全部删除,不能单独删除其中一行
---------------------------------------------------------------
多条数据完全一样的情况下发生的
---------------------------------------------------------------
你用记录集的时候,记录集中没有包含含有主键信息的列.或者没有主键.
例如:列1是主键.
然而取记录集却select 列2 from 表.
却没有列1,而列2只是普通列,在更新、删除就会出这样的提示。
---------------------------------------------------------------
对啊,说明你的记录有多行一致,你可以写delete语句删除多个
---------------------------------------------------------------
消除重复记录:
select * into #temp from 表 group by 所有的列
delete 表
insert 表 select * from #temp
---------------------------------------------------------------
sql server删除或修改记录时,
要以某个关键字为参考,
你的表可能没有设置关键字,
---------------------------------------------------------------
加入自动+1或类似的关键字,按关键字删除。