数据库问题(一)——日常小bug

接触MySQL数据库很久了,即使是日常的增删改查,也遇到的不少问题,其中很多问题都有法可依。但真正困扰我们的往往是写完代码后的事情。
比如说,几个月前,我们突然被通知需要更换数据库。我很理解这种做法,毕竟数据库部署在服务器上很占用服务器资源。但是这个阿里云数据库居然是MySQL 8.0以上的版本,这问过我手里的5.7吗😂?所以,在迁库的时候,一些问题就会浮现。大致说几个,有主外键的问题,有编码格式的问题utf8mb4和utf8,甚至我们的sql语句也会出错。例如时间模糊查询报错:> 1525 - Incorrect DATETIME value: ‘2019-07%’
解决方法就是用这种方式拼接:concat(‘2017-07’, ‘%’) 。当然最首要的是,别忘了更换驱动,不然就会在这里插入图片描述

还有一个最近才遇到的,印象比较深。有个用户提交一个很长的表单,其中不小心输入一个颜文字到input框中,然后报提交错误。后台经过排查是sql报错,但具体原因排查了很久,直到发现那个表情…然后这就是mysql本身的utf8编码问题了…然后再多说一句,我每次备份mysql8.5的数据到mysql5.7都要手动替换utf8mb4为utf8。
其他诸如此类的小问题,一时半会儿没时间理出来,现在这里开个头吧,以后再更新这篇博客。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值