嘗試將資料插入資料庫時,您可能會遇到「發送 QUERY 封包時出錯」。讓我們深入研究該問題及其解決方案。
提供的程式碼利用 PDO 準備和執行查詢,以將資料插入定義為長文字的欄位中。但是,該錯誤表明資料大小超出了限制。
MySQL 對查詢期間可以傳送的封包的最大大小施加了限制。預設情況下,此限制為 16MB。長文本理論上應支援高達 4GB 的數據。
當插入的資料大於允許的資料包大小時,就會出現此問題。 MySQL以資料包的形式發送數據,如果資料包無法容納全部數據,則會導致「發送QUERY資料包時發生錯誤。」
解:
解決這個問題,你有兩個選擇:
SET GLOBAL max_allowed_packet=524288000;
此命令將max_allowed_packet 大小設定為500MB,這足以滿足大多數情況。請記住在插入資料後將值重設為預設值,以避免任何潛在的效能開銷。
以上是為什麼在將大數據插入 MySQL 資料庫時會收到「發送 QUERY 封包時出錯」的資訊?的詳細內容。更多資訊請關注PHP中文網其他相關文章!