SQL2005:已更新或删除的行值要么不能使该行成为唯一行,要么改变了多个行.

原文发布时间为:2008-08-04 —— 来源于本人的百度文章 [由搬家工具导入]

最近使用sql server2005,已经不止一次的发生了这样的错误.具体是怎么出来的我不清楚,其表现为:数据库中出现了重复的键值或数据,当试图删除时,提示错误.错误信息如标题.
这样的问题以前都是不管,可是前天要将本地数据库中的部分数据导入到服务器上,又出现了这样的错误.这次的表现为键值重复.因此导入数据总是失败.试图从数据库管理器中删除也不行,无奈了,只好试验一下查询分析器删除....成功了 *^_^*
所以,这个问题发生的原因尚不清楚,但是要粗暴的解决,办法倒也简单:新建查询,删除之

图1.在管理器中无法删除

图2.使用查询分析器删除

时间: 2024-11-10 11:24:42

SQL2005:已更新或删除的行值要么不能使该行成为唯一行,要么改变了多个行.的相关文章

【sql server】"已更新或删除的行值要么不能使该行成为唯一行,要么改变了多个行" 解决方案

#事故现场: 1.在手动修改某表中数据是,出现如下错误提示:  已更新或删除的行值要么不能使该行成为唯一行,要么改变了多个行 2.表结构及数据: #解决方法: 1.原因分析:提示被删除的行不是唯一行,检查发现: 表中出现了重复的数据({name:小红,age:10}),所以当视图删除时,会提示错误: 2.解决方法一:添加中间,使行值成为唯一值: sql语句: ALTER TABLE UserInfo add ID int identity primary key 效果: 3.解决方法二:先将原用

已更新或删除的行值要么不能使该行成为唯一行,要么改变了多个行

在对一个表做试验的时候,往里面添加了几条数据,后来发现原本想作为主键的字段的值都为"NULL",这可不行,删除重新来吧.选中删除的时候就出现了 "已更改或删除的行值要么不能使改行成为唯一行,要么改变了多个行(X行)"的错误. 原来是建表的时候忘了添加主键,但是现在删除也删除不了,往里面填东西吧,也填不了,也报错.没有办法啊~百度吧~各种解决办法,终于找到了我这个菜鸟能看懂而且操作出来的方法.(好方法!!!) 解决方法: 单击SQL工具栏上的"新建查询&qu

SQL Server-已更新或删除的行值要么不能使该行成为唯一行,要么改变了多个行

在更新没有设置主键的表的时候出现下图中的问题: 问题原因: 这种问题大多是由于没有主键(PK)导致同一张表中存在若干条相同的数据 DBMS存储时,只为其存储一条数据,因为DBMS底层做了优化,以减少数据冗余.所以删除或更新一条重复数据就牵一发而动全身 解决方法: 推荐设置主键,检查是否存在相同行数据

SQL——行值表达式(Row Value Expressions)

概述 最近接触了一个新概念——行值表达式,也叫做行值构造器.这是一个很强大的SQL功能,通常我们所操作的SQL表达式都只能针对一行中的单一字段进行操作比较,而行值表达式可以针对一行中的多个字段进行操作比较. 它在SQL:92的标准里就被定义过,但到目前为止,也并不是所有数据库都支持,并且每个数据库支持程度不一致. 这列出了几个支持行值表达式的数据库: DB2 HSQLDB MySQL Oracle Postgres 查询语句示例 SELECT * FROM t WHERE (t.t1, t.t2

用ADO更新MYSQL报“无法为更新定位行。一些值可能已在最后一次读取后已更改”问题的解决

今天在DELPHI中用ADO通过ODBC连MYSQL更新数据时遇到这个奇怪的错误:无法为更新定位行.一些值可能已在最后一次读取后已更改. 百思不得其解,于是上网查.有的说是因为没主键,但我这个表是有的:有的说是有缺省值,我检查了一下,所有字段都是没缺省值的:有的说是先INSERT再EDIT导致的,我这就是纯EDIT.POST,没有INSERT,所以也不存在. 又找了半天,终于找到类似情况,有人说如果EDIT修改的数据与原有数据一样,那POST时就会报这个错误.我检查了一下,还真是,我EDIT其实

无法为更新定位行,一些值可能已在最后一次读取后已更改

ADOTable,ACCESS数据库,表某个字段A-数字类型,默认值是0. 添加一条记录后, http://wenku.baidu.com/view/bd87ea50ad02de80d4d840c8.html 无法为更新定位行,一些值可能已在最后一次读取(2009-03-11 11:58:22)标签:it 报错:无法为更新定位行,一些值可能已在最后一次读取后已更改 在Delphi 7中,用ADOQuery或ADODataSet操作数据库很方便,可查询,可增删改. 但如果对数据进行修改保存,然后再

delphi ADOQUery中错误解决方法"无法为更新定位行。一些值可能已在最后...

使用delphi中的ADOQuery控件中自带的,insert ,edit,delete此操作时,有时会出现下面的错误提示,提示错误信息:"无法为更新定位行.一些值可能已在最后一次读取后已更改." 此解决方案: 出现的原因: 1.可能是修改的时候在其它地方已经重新修改过此数据集中的某些字段信息,例如我在上传文件时,修改了某表中的文件名称和文件路径,由于没有注意到,所以在修改数据,并再一次选择上传文件时,就会报出此错误; 2.数据库中的表没有主键; 3.在数据库设计时,为某些字段设置了默

MongoDB学习笔记二:创建、更新及删除文档

插入并保存文档 对目标集使用insert方法插入一个文档: > db.foo.insert({"bar" : "baz"}) 这个操作会给文档增加一个"_id"键(要是原来没有的话),然后将其保存到MongoDB中.批量插入 如果要插入多个文档,使用批量插入会快一些.批量插入传递一个由文档构成的数组给数据库.如果只是导入数据(例如,从数据feed或者MySQL中导入),可以使用命令行工具,如mongoimport,而不是使用批量插入. 删除

C#操作XML(读XML,写XML,更新,删除节点,与dataset结合等)【转载】

已知有一个XML文件(bookstore.xml)如下: Corets, Eva 5.95 1.插入节点 往节点中插入一个节点: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 XmlDocument xmlDoc=new XmlDocument(); xmlDoc.Load("bookstore.xml"); XmlNode root=xmlDoc.SelectSingleNode("bookstore");//查找