首页 > 数据库 >mysql 更新时where条件缺失导致更新全表问题

mysql 更新时where条件缺失导致更新全表问题

时间:2023-07-17 18:23:27浏览次数:45  
标签:status mysql 更新 全表 子句 where order

1、问题

更新时where条件缺失导致更新全表问题

2、错误sql

update order set `status`=1 in ('XX001','XX002','XX003');
  • 错误分析:

    更新整个order表,并没有限制更新的范围。

    原因是这个SQL语句在IN子句中没有提供任何条件,导致MySQL将IN子句视为一个包含了所有order_id值的列表。在这种情况下,IN子句将始终返回TRUE,因为'XX001''XX002''XX003'等值都会被认为在这个列表中,而没有匹配的值也被视为在列表中。

    因为没有提供合适的条件来筛选需要更新的记录,所以整个order表的status字段都会被设置为1。

3、正确sql

update order set `status`=1 where order_code in ('XX001','XX002','XX003');

标签:status,mysql,更新,全表,子句,where,order
From: https://www.cnblogs.com/pine007/p/17560864.html

相关文章

  • mysql 笔记
    行转列: namecoursegradezhangsanjava20zhangsanc#60zhangsanpython40lisijava109lisic#30lisipython20wangwujava33 selectname,sum(casewhencourse='java'thengradeend)as'java',sum(casewhen......
  • 怎么提交文件夹&文件&更新到svn
    方法/步骤1打开电脑,鼠标右键,点击TortoiseSVN.2然后点击Respo-broswer.3找到并输入你要提交文件夹的路径。4鼠标右键,点击addfolder或者直接拖入。5选择要提交的文件夹。6输入提交文件描述,点击ok,即可。原文链接:https://jing......
  • 浅谈oracle,mysql数据备份
    oracle备份 方案1:Navicat工具迁移1.1开启Navicat,打开工具-数据同步   1.2选定原数据源与需要迁移到的数据源  1.3选择下一步,比对后开始进行数据同步   方案2:数据库服务器迁移2.1登录源数据库切换用户su-oracle切换到临时目录cd/u01/app/oracle......
  • Window安装解压版MySQL5.7
    软件下载官网地址:https://www.mysql.com下载地址:https://dev.mysql.com/downloads/mysql/安装步骤下载后会得到zip安装文件将zip安装文件解压到某个目录下,解压的目录最好不要有中文和空格以E:\Dev\languages\mysql\mysql-5.7.25目录为例添加环境变量:电脑-属......
  • 【持续更新】崩溃日常 —— 环境变量被清空了
    【持续更新】崩溃日常——环境变量被清空了在配置ffmpeg的时候,使用了指令,忘记添加-m的参数,因为跑出来效果比较差,所以熬到了很晚,脑子也不是很清醒,这就导致了于是我的path被清空了!!!上网搜索了一圈,也查看了注册表,因为事情已经过去了好几天,重启过电脑注册表被清空了,最终没有解决,心......
  • 更新项目的 NuGet 包
    首先,使用dotnetlistpackage--outdated命令可以列出所有已安装的NuGet包,并显示哪些包存在更新。这个命令可能需要一些时间来运行,但是它会给出一个类似于下面这样的结果:Thefollowingsourceswereused:https://api.nuget.org/v3/index.json\\kuforedev\shared\dev......
  • mysql报错:You must reset your password using ALTER USER statement before executin
    mysql报错:YoumustresetyourpasswordusingALTERUSERstatementbeforeexecutingthisstatement.新安装mysql后,登录后,执行任何命令都会报错:YoumustresetyourpasswordusingALTERUSERstatementbeforeexecutingthisstatement. 【解决办法】MySQL版本5.7.6版本......
  • MySql 8.0 设置允许远程登录授权
    MySQL连接出现isnotallowedtoconnecttothisMySQLServer错误提示打开MySQL8.0CommandLineClient1.打开远程连接mysql>usemysql;mysql>updateusersetuser.Host=’%’whereuser.User=‘root’;mysql>flushprivileges;mysql>selecthost,userfromuse......
  • MySQL中对JSON数据操作(较全)
    MySQL对JSON数据操作链接:(160条消息)【MySQL】对JSON数据操作(全网最全)_mysqljson_0世界和平0的博客-CSDN博客创建json格式字段CREATETABLE`dept`(`id`int(11)NOTNULL,`dept`varchar(255)DEFAULTNULL,`json_value`jsonDEFAULTNULL,PRIMARYKEY(`id......
  • python连接Mysql 1-01
    一,下载对应python环境的MySQL连接包我的是python3所以下载的是这个(cmd)pip3installPyMySQL二,创建py文件编写importpymysql#打开数据库连接db=pymysql.connect(host='localhost',user='root',password='123456',db='test1')#使用cursor()方法创建一个游......