8126)" menunjukkan bahawa baris dalam jadual MySQL melebihi..."/> 8126)" menunjukkan bahawa baris dalam jadual MySQL melebihi...">

Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Membetulkan Ralat 'Saiz baris terlalu besar' MySQL?

Bagaimanakah Saya Boleh Membetulkan Ralat 'Saiz baris terlalu besar' MySQL?

Susan Sarandon
Susan Sarandonasal
2024-12-08 17:46:11572semak imbas

How Can I Fix MySQL's

Melaraskan Had Saiz Baris MySQL untuk Data Bersaiz Besar

Mesej ralat "Saiz baris terlalu besar (> 8126)" menunjukkan bahawa satu baris dalam jadual MySQL melebihi had lalai 8KB. Beberapa faktor menyumbang kepada isu ini, termasuk jenis data yang digunakan dalam lajur jadual.

Satu penyelesaian yang berpotensi ialah menukar beberapa lajur kepada jenis data TEXT atau BLOB, kerana ini boleh menampung jumlah data yang lebih besar. Selain itu, menggunakan ROW_FORMAT=DYNAMIC atau ROW_FORMAT=COMPRESSED juga boleh membantu mengurangkan saiz baris dengan menyimpan data dengan cara yang lebih cekap.

Walau bagaimanapun, mesej ralat yang diberikan menunjukkan bahawa walaupun dengan pengubahsuaian ini, saiz baris mungkin masih menjadi terlalu besar. Ini kerana enjin storan InnoDB menyimpan 768 bait pertama data BLOB sebaris dalam baris, seterusnya mengehadkan saiz baris.

Untuk menangani isu ini, pertimbangkan untuk melaksanakan penyelesaian berikut:

  1. Tukar kepada Fail Barracuda Format:

    • Tambah yang berikut pada fail my.cnf:

      • innodb_file_per_table=1
    - This file format removes the issue of storing BLOB data inline, allowing larger rows to be accommodated.
  2. Gunakan ROW_FORMAT=COMPRESSED:

    • Laksanakan pertanyaan berikut untuk mengubah struktur jadual:

      • ALTER TABLE table_name
        ENGINE=InnoDB
        ROW_FORMAT=COMPRESSED
    - This setting reduces the row size by compressing non-key columns, potentially resolving the issue.

Jika penyelesaian di atas masih gagal menyelesaikan isu, pertimbangkan untuk beralih sementara kepada enjin MyISAM untuk menyimpan data sementara dengan menambah baris berikut pada fail my.cnf:

internal_tmp_disk_storage_engine=MyISAM

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Membetulkan Ralat 'Saiz baris terlalu besar' MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn