mysql中数据不存在却查询到记录?

news/2024/11/14 23:08:54/

前言

首先看下面的查询语种

select * from AudioKnowledgeChatInfo where AudioId=297795550566600706;

查询结果如下 

 看到上面的查询结果,是不是一脸懵?这audioId明显不对啊,怎么查询到了?

原因剖析

首先我们来看看数据库表结构

可以看到,表中AudioId定义是varchar(50),但是查询sql中传入的是数字,很显然这可能是涉及到mysql的隐式类型转换问题了。我们知道mysql在进行字段查询的时候,varchar和int,bigint的比较时,会把varchar类型转换成对应的int或者bigint,这时可能会造成精度丢失,比较不准确问题。

我们把上面的sql修改下

select * from AudioKnowledgeChatInfo where AudioId='297795550566600706';

再次查询下,发现查询不到数据了。

总结

mysql的类型隐式转换,会导致索引失效问题、数据比对异常等问题,所以在表结构设计以及sql编写的时候还是要多加注意,避免这种错误。


http://www.ppmy.cn/news/1547058.html

相关文章

JS的学习与使用

JS的学习与使用 一 什么是Javascript? Javascript是一门跨平台,面向对象的脚本语言,是用来控制网页行为的,它能使网页可以交互 java与Javascript是完全不同的语言,不论是概念还是设计,但是基础语法类似 E…

Unity插件NodeCanvas之行为树的详细教程

文章目录 前言叶节点 Leafs1、行为 Action2、判断 Condition控制组件 Composites1、顺序执行器 Sequencer2、选择执行器 Selector3、概率选择执行器 Probability Selector4、权重选择执行器 Priority Selector5、平行执行器 Parallel6、轮流选择器 Flip Selector7、完整执行器 …

前端开发快速进行 Mock 数据的方法

前端开发快速进行 Mock 数据的方法 在前端开发中,模拟数据(Mock Data)是不可或缺的一部分,它可以帮助开发者在没有后端接口的情况下快速推进项目进度。然而,在使用如 Mock.js 这样的工具时,开发者可能会遇…

Python网络爬虫与数据采集实战——网络协议与HTTP

目录 1. HTTP协议简介 2. 常见的请求方法 3. 状态码含义 实际应用中的HTTP协议 1. 如何在爬虫中使用HTTP协议 2. 模拟浏览器请求与爬虫反爬虫技术 3. 高级HTTP请求 实现爬虫时HTTP协议的优化与常见问题 总结 1. HTTP协议简介 HTTP的定义与作用 HTTP(超文本…

Android关机流程知多少?

在 Android 中,关机流程涉及系统各个组件的协同工作,确保设备在断电之前能够安全地关闭所有活动并保存数据。以下是 Android 系统中关机流程的详细介绍: 1. 用户触发关机请求 关机流程由用户的操作触发,通常有以下几种方式&#…

操作系统之基本分段存储管理

目录 分段存储管理的逻辑 名词解释 逻辑地址到物理地址的转换 快表机构 分段存储管理的优点 分段与分页的对比 地址结构 段的共享与保护 分页、分段的优缺点分析 分段存储管理的逻辑 分段存储管理的核心思想是将程序按照其逻辑关系划分为若干个段,每个段都…

做的图表配色太丑,怎么办?

在进行数据可视化的时候,小伙伴经常为配色烦恼,不会配色,导致做出 可视化图表不够“闪瞎”老板的双眼。 有没有配色模板能直接使用呢? 我把自己经常用的配色网站整理好啦,解决大家可视化配色难题。 一、配色模板网站 …

HTMLCSS: 实现可爱的冰墩墩

效果演示 HTML <div class"wrap"><div class"body"></div><div class"ear"></div><div class"ear rightEar"></div><div class"leftHand"></div><div class"…