MySQL:update set的坑

目录

一、问题描述

二、为何会出现这样的问题?

三、正确的方案


一、问题描述

我在修改mysql数据表时,看到下面的现象。

我表中原始数据如下:

执行了下面的修改,显示执行成功。

update user_function_record_entity 
set open_id = 8 and reason = '已修改' and create_time = now() 
where id = 2;

再次查询数据如下:

从修改后的数据看,不是我预期的结果,为什么呢?

下面就来分析分析。

二、为何会出现这样的问题?

首先,其根本问题在于 set 后用了 and

因为 set 的语法是,当修改多个值时,是用英文逗号间隔,而不是and间隔。

那为什么在执行命令时,没有提示错误呢。

因为带了and的命令,其真实执行逻辑如下

update user_function_record_entity 
set open_id = (8 and reason = '已修改' and create_time = now())
where id = 2;

因为 (8 and reason = '已修改' and create_time = now())  通过逻辑运算是false,

所以,才会把 open_id 设置为 0 。

三、正确的方案

正确的命令如下

update user_function_record_entity 
set open_id = 8, reason = '已修改', create_time = now()
where id = 2;

原始值:

修改命令执行后:

所以,为了避免这样的坑,记住正确的命令格式。这个坑一般真的很难发现


我是程序员娟娟,

致力将工作中遇到的问题和解决方案记录下来,

分享给更多需要的同行。

如果对你有帮助,不妨点个关注吧!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/203716.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MySQL_1. mysql数据库介绍

shell脚本差不多快完结了接下来会为大家更新MySQL系列的相关的基础知识笔记,希望对大家有所帮助,好废话不多说,接下来开始正题! 1.mysql数据库介绍 mysql 是一款安全、跨平台、高效的,并与 PHP、Java 等主流编程语言…

AI写作工具有哪些?原创我AI写作工具推荐

人工智能(AI)的广泛应用不仅改变了我们的工作方式,也对文学创作领域产生了深远的影响。其中,AI写作技术在提高工作效率和文章创作方面发挥着越来越重要的角色。然而,伴随着这一技术的兴起,一个备受关注的问…

机器学习实验五:集成学习

系列文章目录 机器学习实验一:线性回归机器学习实验二:决策树模型机器学习实验三:支持向量机模型机器学习实验四:贝叶斯分类器机器学习实验五:集成学习机器学习实验六:聚类 文章目录 系列文章目录一、实验…

docker基本管理和相关概念

1、docker是什么? docker是开源的应用容器引擎。基于go语言开发的,运行在Linux系统当中开源轻量级的“虚拟机”。 docker可以在一台主机上轻松的为任何应用创建一个轻量级的,可移植的,自给自足的容器。docker的宿主机是Linux系统…

【PID学习笔记 7 】控制系统的性能指标之三

写在前面 控制系统性能指标有单项指标和综合指标两类,上文重点介绍了单项指标,本文将介绍系统阶跃响应的综合性能指标。 一、系统阶跃响应的综合性能指标 单项指标虽然清晰明了,但如何统筹考虑比较困难。而偏差幅度和偏差存在的时间都与偏…

1-Tornado的介绍

1 tornado的介绍 **Tornado**是一个用Python编写的可扩展的、无阻塞的**Web应用程序框架**和**Web服务器**。 它是由FriendFeed开发使用的;该公司于2009年被Facebook收购,而Tornado很快就开源了龙卷风以其高性能着称。它的设计允许处理大量并发连接&…

这些Java并发容器,你都了解吗?

文章目录 前言并发容器1.ConcurrentHashMap 并发版 HashMap示例 2.CopyOnWriteArrayList 并发版 ArrayList示例 3.CopyOnWriteArraySet 并发 Set示例 4.ConcurrentLinkedQueue 并发队列 (基于链表)示例 5.ConcurrentLinkedDeque 并发队列 (基于双向链表)示例 6.ConcurrentSkipL…

Vue学习计划-Vue2--Vue核心(五)条件、列表渲染、表单数据

1. 条件渲染 v-if v-if“表达式”v-else-if “表达式”v-else “表达式” 适用于:切换频率较低的场景 特点:不显示dom元素,直接被删除 注意:v-if和v-else-if、v-else一起使用,但要求结构不能被打断 v-if和template一…

Android笔记(十七):PendingIntent简介

PendingIntent翻译成中文为“待定意图”,这个翻译很好地表示了它的涵义。PendingIntent描述了封装Intent意图以及该意图要执行的目标操作。PendingIntent封装Intent的目标行为的执行是必须满足一定条件,只有条件满足,才会触发意图的目标操作。…

分布式分布式事务分布式锁分布式ID

目录 分布式分布式系统设计理念目标设计思路中心化去中心化 基本概念分布式与集群NginxRPC消息中间件(MQ)NoSQL(非关系型数据库) 分布式事务1 事务2 本地事务3 分布式事务4 本地事务VS分布式事务5 分布式事务场景6 CAP原理7 CAP组…

(2/2)敏捷实践指南 Agile Practice Guide ([美] Project Management institute 著)

附录 A1 - 《PMBOK指南》映射 表A1显示了第六版《PMBOK指南》中定义的项目管理过程组与知识领域之间的对应关系 本附录说明了如何利用混合和敏捷方法处理《PMBOK指南》知识领域(请参见表A1-2)中所述的属性,其中涵盖了相同和不同的属性&…

C#网络应用程序(Web页面浏览器、局域网聊天程序)

目录 一、创建Web页面浏览器 1.示例源码 2.生成效果 二、局域网聊天程序 1.类 2.服务器端 3.客户端 一、创建Web页面浏览器 TextBox 控件用来输入要浏览的网页地址,Button控件用来执行浏览网页操作, WebBrowser控件用来显示要浏览的网页。这个控…

Matlab 曲线动态绘制

axes(handles.axes1); % 选定所画坐标轴 figure也可 h1 animatedline; h1.Color b; h1.LineWidth 2; h1.LineStyle -; % 线属性设置 for i 1 : length(x)addpoints(h1,x(i),y(i)); % x/y为待绘制曲线数据drawnow;pause(0.01); % 画点间停顿 end 示例: figure…

exynos4412—中断处理

一、什么是中断 一种硬件上的通知机制,用来通知CPU发生了某种需要立即处理的事件 分为: 内部中断 CPU执行程序的过程中,发生的一些硬件出错、运算出错事件(如分母为0、溢出等等),不可屏蔽外部中断 外设发…

scitb包1.6版本发布,一个为制作专业统计表格而生的R包

目前,本人写的scitb包1.6版本已经正式在R语言官方CRAN上线,scitb包是一个为生成专业化统计表格而生的R包。 可以使用以下代码安装 install.packages("scitb")安装过旧版本的从新安装一次就可以升级了,根据粉丝的建议,增加了Overal…

RocketMQ-RocketMQ集群实践(搭建)

搭建RocketMQ可视化管理服务 下载可视化客户端源码下载 | RocketMQ 这里只提供了源码,并没有提供直接运行的jar包。将源码下载下来后,需要解压并进入对应的目录,使用maven进行编译。(需要提前安装maven客户端) mvn clean package -Dmaven.t…

手动部署1个Cloud Run service

什么是Cloud Run 来自chatgpt: Google Cloud Run 是一项全托管的服务器托管平台,它允许您在容器化的环境中运行无服务器应用程序。Cloud Run 提供了一种简单而灵活的方式来构建、部署和扩展应用程序,无需管理底层基础设施。 以下是 Cloud …

操作系统的运行机制+中断和异常

一、CPU状态 在CPU设计和生产的时候就划分了特权指令和非特叔指令,因此CPU执行一条指令前就能断出其类型 CPU有两种状态,“内核态”和“用户态” 处于内核态时,说明此时正在运行的是内核程序,此时可以执行特权指令。 处于用户态…

Jenkins+Maven+Gitlab+Tomcat 自动化构建打包,部署

环境准备Jenkins工具、环境、插件配置全局变量配置安装插件Deploy to containerMaven Integration plugin配置国内mvn源 创建maven项目 环境准备 1、安装服务 Jenkins工具、环境、插件配置 全局变量配置 Manage Jenkins>tools>JDK 安装 安装插件 Deploy to contai…