首页 > 其他分享 >完全相同的两条数据如何进行修改

完全相同的两条数据如何进行修改

时间:2023-03-02 21:58:00浏览次数:32  
标签:int 数据 两条 修改 func where 完全相同 configtxt

1.背景

​ 前几日打工的时候发现的一个神奇的bug 当我在NAVCATE(sqlserver)中用鼠标修改一条数据时会同时修改另一条数据,当时瞬间懵逼,然后定睛一看妈的这个表建表的时候没给id ,也没有其他唯一索引,修改数据时运行sql会同时修改这两条完全相同的数据。 大概就是这个意思,目标把一个b对应的int改为1 (表名:configtxt)

image

​ 要是相改最简单的方法肯定是把想改的数据删除,然后重新进行插入,但肯定不是最合理的办法,于是计划写一个sql解决这个问题

​ 首先经过测试上述问题mysql并不纯在,mysql在图形化界面修改一条数据的时候会附带limit 语句效果如下

UPDATE `dbo`.`configtxt` SET `int` = 2 WHERE `function` = 'b' AND `int` = 1 LIMIT 1

​ 想法的话就是通过先添加一个排序让两个相同的数据变的不相同结果如下

 SELECT row_number() OVER (ORDER BY [func] DESC) AS 'no', * FROM configtxt where [func]  = 'b'

image

​ 然后通过这个附加的字段进行条件进行修改

WITH t1 AS
(
   SELECT row_number() OVER (ORDER BY [func] DESC) AS 'no', * FROM configtxt where [func]  = 'b'
)
UPDATE t1
SET state = '1'--这个是参数
where [no] = 1

标签:int,数据,两条,修改,func,where,完全相同,configtxt
From: https://www.cnblogs.com/jiqingqing/p/17173690.html

相关文章

  • DDL语言——库和表的创建、修改、删除
    DDL语言DDL:DataDefinitionLanguageDDL允许用户定义数据,也就是创建表、删除表、修改表结构这些操作。通常,DDL由数据库管理员执行。下面的中括号【】内的内容是可选的。......
  • 软件质量之可修改性
    软件的可修改性:软件质量属性中的可修改性是指容易修改的能力,其包括修正,改进和用户需求的变化。今天阅读了《大型网站技术架构:核心原理与案例分析》,里面没有明确的......
  • Ubuntu20.04修改环境变量失误导致开机循环——解决方法以及保存profile
    gedit/etc/profile配置Ubuntu环境变量时出现失误导致开机时输入密码后重复开机无法进入图画界面解决方法:ctrl+alt+(F1~F6),我的是ctrl+alt+F2进入界面输入login(用户名)和......
  • GitLab修改群组报错“路径已经被使用”
    GitLab修改群组报错“路径已经被使用” 1、问题背景在GitLab修改群组时,遇到如下报错“路径已经被使用” 2、原因分析根据报错提示信息,新建的群组路径已经被占用......
  • Docker 三节点 MongoDB 修改集群IP
    需求背景因为业务需要服务器IP变更,记录一下mongdb三节点变更的办法,我这边是在vm上进行测试原IP:172.16.16.81新IP:172.16.16.84修改MongoDB集群IP#登录其中......
  • EAS客户端修改新增或编辑窗口为弹窗或者新的tab页签
    @OverrideprotectedStringgetEditUIModal(){returnUIFactoryName.EDITWIN;//UIFactoryName.NEWWIN为弹窗模式//UIFactoryName.NEWTAB......
  • eas修改新弹窗或tab页签的标题
     有时候想要重新定义新增或编辑的窗口的标题,可以在listui或者editui中重写下面方法@OverridepublicvoidinitUIContentLayout(){super.initUIContentLayout()......
  • element table 修改排序图标 保留原有排序功能
      使用 render-header修改图标,官方文档有说明在 el-table-column添加属性 :render-header="renderHeader"<el-table-columnprop="viewsNumber"sortable:r......
  • maxpool3d修改成maxpool2d与maxpool1d方法
    有时候遇到不支持maxpool3d的硬件或算子时候,可将其改成maxpool2d加上maxpool1d组合方式表示,经验证与maxpool3d结果完全一致,其实现细节如下:代码:importtorchclassMax......
  • linux修改组播订阅数量限制
    组播数量限制内核参数存放位置,/proc/sys/net/ipv4/igmp_max_memberships修改组播限制数量,切换至root用户临时修改sysctlnet.ipv4.igmp_max_memberships=200永久......