[Node.js]Incorrect arguments to mysqld_stmt_execute

这是一篇错误处理记录,该错误出于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

本站文章未经文下加注授权不得拷贝发布。

0 0 投票数
打分
订阅评论
提醒
guest
0 评论
内联反馈
查看所有评论