mysql批量寫入數據時,注意事項

最近在批量遷移數據寫入到mysql表中的時候,出現一下報錯。

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

        

        

查看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。



wKiom1mKwkqwlRagAAESHwJKT3s087.png

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章