这是一篇错误处理记录,该错误出于node-mysql2模块,我找到的相关issue在此 https://github.com/sidorares/node-mysql2/issues/1239
今天把代码推上服务器跑起来直接报错,但是不管我怎么检查我写的代码都没有问题,最后只能上网找,然后搜到了这个issue。
问题就出在8.0.22以及之后的版本的Mysql Server对于使用prepared statement传输的数值类型数据表示方法不一样了,导致支持prepared statement的mysql库按照原来的规则传输数据时发生兼容性问题而报错。
在库作者按照新方法修好之前,临时的解决方案可以是覆写连接或连接池的execute方法,在其中把所有数字参数用`.toString()` 转换成字符串,这样就可以正常使用prepared statement了。
本文发布于 https://luojia.me
本站文章未经文下加注授权不得拷贝发布。