Rumah >pangkalan data >tutorial mysql >Mengapa saya mendapat 'Ralat semasa menghantar paket QUERY' apabila memasukkan data besar ke dalam pangkalan data MySQL?
Semasa cuba memasukkan data ke dalam pangkalan data, anda mungkin menghadapi "Ralat semasa menghantar paket QUERY." Mari kita mendalami isu dan penyelesaiannya.
Kod yang disediakan menggunakan PDO untuk menyediakan dan melaksanakan pertanyaan untuk memasukkan data ke dalam lajur yang ditakrifkan sebagai teks panjang. Walau bagaimanapun, ralat menunjukkan bahawa saiz data melebihi had.
MySQL mengenakan sekatan pada saiz maksimum paket data yang boleh dihantar semasa pertanyaan. Secara lalai, had ini ialah 16MB. Teks panjang secara teorinya harus menyokong data sehingga 4GB.
Isu timbul apabila data yang dimasukkan lebih besar daripada saiz paket yang dibenarkan. MySQL menghantar data dalam paket, dan jika paket tidak dapat menampung keseluruhan data, ia mengakibatkan "Ralat semasa menghantar paket QUERY."
Penyelesaian:
Untuk menyelesaikan masalah ini, anda mempunyai dua pilihan:
SET GLOBAL max_allowed_packet=524288000;
Arahan ini menetapkan saiz max_allowed_packet kepada 500MB, yang sepatutnya mencukupi untuk kebanyakan senario. Ingat untuk menetapkan semula nilai kepada lalai selepas memasukkan data untuk mengelakkan sebarang potensi overhed prestasi.
Atas ialah kandungan terperinci Mengapa saya mendapat 'Ralat semasa menghantar paket QUERY' apabila memasukkan data besar ke dalam pangkalan data MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!