【转载】mysql提示:General error: 1390 Prepared statement contains too many placeholders

转自:https://blog.csdn.net/m0_37865510/article/details/106199152

今天遇到mysql占位符的问题。

问题背景是: 在做一个停车场项目的时候,要导入一个月的停车记录,但是停车记录一个月有1万多,一次插入后就会报这个错。

经了解,Mysql默认支持的占位符最多为65535(2^16-1)个,写入数据为m列,n行。m*n必须小于65535

所以,我们插入的时候,需把数据切割,分N次插入即可。

比如我使用array_chunk,每1000条数据插入一次

//$list可能有上万个数组,
$chunk_result = array_chunk($list, 1000);
//场景不一样请使用其他方法!!
foreach($chunk_result as $new_list){
//此处批量插入数据操作

}

点赞

发表回复

电子邮件地址不会被公开。必填项已用 * 标注