#事故现场:

1、在手动修改某表中数据是,出现如下错误提示:

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

2、表结构及数据:

#解决方法:

1、原因分析:提示被删除的行不是唯一行,检查发现:

  表中出现了重复的数据({name:小红,age:10}),所以当视图删除时,会提示错误;

2、解决方法一:添加中间,使行值成为唯一值;

  sql语句:

ALTER TABLE UserInfo
add ID int identity primary key

  效果:

3、解决方法二:先将原用的表做个备份,根据条件将满足条件的数据导到新的表来,再将原表清除,最后将备份表中的数据select过来即可;

  1)、在备份表中导入需要的数据

INSERT INTO UserInfo_backup
select distinct name,age from UserInfo

  2)、清除原表中的数据;

delete from  UserInfo

  3)、从备份表中导入数据;

INSERT INTO UserInfo
select name,age from UserInfo_backup

4、解决方法三:直接删除出现重复的数据;(具体看情况而定)

delete from  UserInfo where name='小红' and age=10

——————————————————————————————————————————————————————

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

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

    原文发布时间为:2008-08-04 -- 来源于本人的百度文章 [由搬家工具导入] 最近使用sql server2005,已经不止一次的发生了这样的错误.具体是怎么出来的我不清楚,其表现为:数据库中 ...

  2. SQL"已更新或者删除的行值要么不能使该行成为唯一行,要么改变了多个行(X行)“解决办法

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

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

    在更新没有设置主键的表的时候出现下图中的问题: 问题原因: 这种问题大多是由于没有主键(PK)导致同一张表中存在若干条相同的数据 DBMS存储时,只为其存储一条数据,因为DBMS底层做了优化,以减少数 ...

  4. 【转】SQL Server -- 已成功与服务器建立连接,但是在登录过程中发生错误

    SQL Server -- 已成功与服务器建立连接,但是在登录过程中发生错误 最近在VS2013上连接远程数据库时,突然连接不上,在跑MSTest下跑的时候,QTAgent32 crash.换成IIS ...

  5. SQL Server 可更新订阅中有行筛选的同步复制移除项目而不重新初始化所有订阅!

    原文:SQL Server 可更新订阅中有行筛选的同步复制移除项目而不重新初始化所有订阅! 在可更新订阅的同步复制中,有行筛选的项目表,移除的时候会提示重新初始化所有的快照并且应用此快照,这将导致所有 ...

  6. 未找到或无法访问服务器 请验证实例名称是否正确并且SQL Server 已配置为允许远程连接

    无法连接到sql server 2008服务器 报下错误 其他信息    在与SQL Server建立连接时出现与网络相关的或特定于实例的错误 未找到或无法访问服务器请验证实例名称是否正确并且SQL ...

  7. 请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。 (provider: Named Pipes Provider, error: 40 - 无法打开到 SQL Server 的连接)

    程序异常,错误信息:在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误.未找到或无法访问服务器.请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接. (pro ...

  8. Dynamics 365执行操作报SQL Server已超时,更改这个超时设置的方法

    本人微信公众号:微软动态CRM专家罗勇 ,回复291或者20190110可方便获取本文,同时可以在第一间得到我发布的最新博文信息,follow me!我的网站是 www.luoyong.me . 当执 ...

  9. SQL Server对数据进行删除

    SQL Server对数据进行删除,把页面的信息从数据库删除. auto"> <tr style="background:red"> <td> ...

随机推荐

  1. 启动redis注意事项

    1.需要修改配置文件 redis.conf 三处 a.将bind 127.0.0.0    修改为  bind 0.0.0.0 b.daemonize no      修改为   daemonize ...

  2. Mysql(Navicat for Mysql)怎么添加数据库

    1.首先打开Navicat for Mysql: 2.打开后界面如下图所示,双击连接localhost_3306: 3.连接后localhost_3306变成绿色,如下图所示: 4.选中下面任意数据库 ...

  3. [C++] const object

    const  object const 对象只能调用const函数 const函数不能改变一般成员变量的值,但是mutable的变量不受限制

  4. 解决URL参数中文乱码

    string key = HttpUtility.UrlDecode(Request["key"], Encoding.UTF8);

  5. zigbee广播通信原理

    广播:可以理解成,发送模块发出数据,这个网络里的所有节点模块都可以拿到这个数据. 实验:终端模块以广播的形式发送出去,让协调器和路由器模块作为接收器收到数据并显示出来! 协调器模块作为接收模块: 和单 ...

  6. RobotFramework学习-问题

    RobotFramework,基于Python的自动化测试框架.近期学习中遇到过一些问题. 1.运行ride时,报错[ ERROR ] option --monitorcolors not recog ...

  7. myeclipse的user library使用方法

    让myeclipse形成一个整齐划一的jar集合 这里就使用到了编辑器的user Library功能 首先,打开编辑器然后如图操作window--->preference--> 点开后如图 ...

  8. Web环境中Spring的启动过程

    1.spring不但可以在JavaSE环境中应用,在Web环境中也可以广泛应用,Spring在web环境中应用时,需要在应用的web.xml文件中添加如下的配置: …… <context-par ...

  9. .NET WCF Return String 字符串有反斜杠的处理

    应该是: {"Message":"Hello World"} 结果是:" {\"Message\":\"Hello Wo ...

  10. 提示缺少python.h解决办法

    在安装uwsgi时,提示缺少python.h In file included :: plugins/python/uwsgi_python.h::: fatal error: Python.h: N ...