阿里云文档参考:
官网文档参考:
MySQL :: MySQL 8.0 Reference Manual :: 1.3 What Is New in MySQL 8.0
mysql 驱动升级到8.0 需要注意一下几点
1、返回时间格式问题
现象:5.7会返回2022-xx-xx 12:xx:xx.30(时间到毫秒)。8.0 会返回2022-xx-xx 12:xx:xx(去除毫秒)
注意点:改之前要确认是否前端对时间格式做截取后几位?如果做截取了,要求前端更改截取方式
解决方案:要求以后开发的时间格式一定按照8.0 的返回,针对已有的需要前端配合整体修改(去除直接截取逻辑)
2、数据库字段定义不规范问题(int|tinyint)类型定义成varchar类型
现象:5.7针对上面的类型值为0 的值会返回0。8.0 会返会48,导致数据库值为0返回前端会变成48,如下图
5.7源码:通过getString()返回0
8.0源码:getObject()返回48
注意点:判断数据库字段定义是否符合规范.
解决方案:变更数据库字段中不符合规范的类型,更改数据库字段varchar类型转换为(int|tinyint)
mysql服务器升级到8.0 后
1**、目前的sql里面有些关键字 审计到8.0会造成sql解析失败(如system,password)**
注意点:检查sql 是否有mysql 关键字已经被使用的字段没有加” ”
解决方案:长期方案后期定义字段勿使用mysql 关键字,已使用的字段要加” ”