mysql批量写入数据时,注意事项

最近在批量迁移数据写入到mysql表中的时候,出现一下报错。

1
 SQLSTATE[HY000]: General error: 1390 Prepared statement contains too many placeholders.

        

        

1
2
3
查看mysql官网解释:
Error: 1390 SQLSTATE: HY000 (ER_PS_MANY_PARAM)
Message: Prepared statement contains too many placeholders

参考:https://dev.mysql.com/doc/refman/5.7/en/error-messages-server.html

                

原因分析:
mysql使用PDO进行写入的时候,PDO支持最大占位符为65535。

当insert的表为6列(即6个字段),写入记录的行数为11000时,则insert的总占位符为:6x11000=66000.

66000大于mysql最大占位符为65535,故而mysql报错。


结论:写入数据为m列,n行。m*n必须小于65535。



mysql批量写入数据时,注意事项






















本文转自 hgditren 51CTO博客,原文链接:http://blog.51cto.com/phpme/1954842,如需转载请自行联系原作者
上一篇:Java异常--其他概念—throw、throws、Exception、RuntimeException、断言


下一篇:阿里云自助建站方法--阿里云心选建站(速成美站)