今天有个开发跑过来质疑我之前给他们灌输的数据库中尽量避免隐式转换的概念,理由是遇到一个where条件中不做隐式转化的SQL查询不到结果。

表结构如下:
mysql> desc m;
+-------+-------------+------+-----+---------+-------+
| Field | Type        | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| id    | int         | NO   | PRI | NULL    |       |
| name  | varchar(20) | YES  |     | NULL    |       |
+-------+-------------+------+-----+---------+-------+
2 rows in set (0.03 sec)

name字段是varchar类型,里面实际上存储的是数字,在navicate客户端中查找一条数据时发现既然查不到,但是这条数据确实是存在的。

因为name是varchar,所以SQL这样写:select * from m where name = ‘999’;结果确实空的。

而让MySQL自己做隐式转换却可以:select * from m where name = 999;

这样开发抛出一个问题:MySQL有BUG,做隐式转换不是更好么,起码能输出结果?

此时我在想是不是有空格,但是在navicate上一顿点,发现并没有空格呀,难道真的是BUG了?但是其他数据却没有问题,可以正常过滤。在命令行里通过ID过滤这条数据看看:

mysql> select * from m where id = 2;
+----+------+
| id | name |
+----+------+
|  2 |
999  |
+----+------+
1 row in set (0.09 sec)

尼玛,这里不是空格,变成了换行符,于是让开发把他们的脚本拿出来瞅瞅,发现他们的脚本里竟然是:insert into m values(2,’\n999’);

这种问题只能说排查不出来郁闷,排查出来更郁闷。

记一次哭笑不得的诡异事件相关推荐

  1. 悬崖边上的舞者,记7.2生产数据库灾难事件

    悬崖边上的舞者,记7.2生产数据库灾难事件 作者:张子良 版权所有,转载请注明出处 引子:出事了 7月2日是一个难得的大晴天,一段时间以来桂林一直在下雨,一直下,害的我减肥的计划一再的泡汤,因为下雨每 ...

  2. 网线还能这样玩???(哈哈哈,记一次差点被揍事件)

    网线还能这样玩???(哈哈哈,记一次差点被揍事件) 以下是个真实事件,嘿嘿嘿,胆小请勿模仿 某天,我闲的无聊,突然看到了角落里的那两台电脑(瑟瑟发抖),邪恶善良的我决定让他们嘿嘿嘿通过一根网线直接连在 ...

  3. z-index诡异事件之背锅侠

    第一次在这上面发文哈,平时都只是在这里学(fu)习(zhi),准备记录一下我踩过和正在踩的坑吧. 今天找了半天小程序选择框的组件,奈何并没有找到官方的组件,就准备自己写(fu zhi)一个.结果写遮罩 ...

  4. svn合并时候的诡异事件

    使用subclipse 创建合并主干的时候,发现总是无法在下面的界面直接选择主干. 然后就选择直接输入相对路径(因为以前有一个分支就是这样做的),但是subclipse却会直接把你 在前面加上当前分支 ...

  5. 记一次Redis被攻击的事件

    最近几个月非常忙,所以很少有时间写博客,这几天终于闲了一些,于是就在整理平时的一些笔记.恰好这几天Redis服务器发生了问题,就记录一下. 我司有两款分别是2B和2C的App,类似于阿里旺旺的卖家版和 ...

  6. 一个线程罢工的诡异事件

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试资料 背景 事情(事故)是这样的,突然收到报警,线上某个应用里业务逻辑没 ...

  7. 生产问题:一个线程罢工的诡异事件

    事情(事故)是这样的,突然收到报警,线上某个应用里业务逻辑没有执行,导致的结果是数据库里的某些数据没有更新. 虽然是前人写的代码,但作为 Bugmaker&killer 只能咬着牙上了. 因为 ...

  8. 数据结构与索引-- mySql索引诡异事件

    什么时候使用B+树索引 并不是所有查询条件下出现的列都需要添加索引.对于什么时候添加索引,我们通过经验判断,访问表中很少一部分行时候,使用B+树索引才有意义. 对于性别字段,地区字段,类型字段,他们取 ...

  9. (诡异事件)iframe标签后面的alert不执行

    今天做项目的过程中,发现一个非常奇怪的事情.iframe标签后面的js 不执行? 把代码贴出来,看看有没有大牛碰到这种情况.谢谢. <html xmlns="http://www.w3 ...

最新文章

  1. 【2021年度训练联盟热身训练赛第二场】g2g c u l8r(python)
  2. OSChina 周一乱弹 ——渴望咪咪还是渴望力量,都能给你
  3. vue-admin模板第一次使用存在的坑
  4. 6.8 程序示例--二分 K-Means-机器学习笔记-斯坦福吴恩达教授
  5. 深入理解移动前端开发之viewport
  6. Microsoft Blazor Platz.SqlForms开源——使用架构生成器设计和维护SQL Server数据库
  7. 在 Laravel 5 中集成七牛云存储实现云存储功能
  8. JsSIP 注册,拨打填坑
  9. Unity 大面积花草风吹动效果以及编辑
  10. Arduino基本知识(marlin固件配置)
  11. excel数据正在计算机,excel数据太多表格太卡-急!Excel数据量大,电脑卡死?
  12. 神经网络视频/图像渲染相关经典论文、项目、数据集等资源整理分享
  13. 数据透视表:多重合并计算数据区域
  14. 新的一年,知足,上进,不负野心!
  15. 在Excel中使用翻译公式 (有道API)
  16. 扩展了 jquery 的插件 easy drag (转载 木野狐)
  17. 计算机组成原理静态存储器实验报告,静态随机存储器实验报告计算机组成原理...
  18. #边学边记 新一代信息技术
  19. selenium源码通读·12 |webdriver/remote分析
  20. int 和 Integer有什么区别,Integer 有哪些函数方法

热门文章

  1. HashMap1.8hash碰撞 和 扩容方法
  2. 全局变量和局部变量同名
  3. 在Linux中ipcs命令,Linux系统中的ipcs命令使用详解
  4. js vue中得延时器_js中延时代码
  5. 利用Idea生成的类图分析框架源码
  6. 拥抱开源,需要跨越那些鸿沟? ————《Open Life —— 有关开源的哲学》读后感...
  7. 移动安全-APP证书校验与抓包
  8. Matlab无线通信仿真之奈奎斯特准则
  9. PhotoShop使用记录
  10. linux磁盘配额软限制和硬限制,【张安东笔记】linux 磁盘配额管理