Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Membetulkan Ralat MySQL: 'Lajur BLOB/TEXT Digunakan dalam Spesifikasi Utama Tanpa Panjang Kunci'?

Bagaimana untuk Membetulkan Ralat MySQL: 'Lajur BLOB/TEXT Digunakan dalam Spesifikasi Utama Tanpa Panjang Kunci'?

Mary-Kate Olsen
Mary-Kate Olsenasal
2025-01-19 23:21:10784semak imbas

How to Fix MySQL Error:

Menyelesaikan masalah Ralat MySQL: Lajur BLOB/TEXT dalam Spesifikasi Utama

Panduan ini menangani ralat MySQL "lajur BLOB/TEXT 'message_id' yang digunakan dalam spesifikasi kunci tanpa panjang kunci." Ralat ini berlaku apabila lajur BLOB atau TEKS digunakan dalam kunci utama atau indeks tanpa menyatakan panjangnya.

Masalahnya berpunca daripada sifat pembolehubah panjang jenis data BLOB dan TEKS. MySQL tidak dapat menjamin keunikan tanpa had saiz yang ditetapkan. Oleh itu, apabila mengindeks atau menggunakan jenis ini sebagai kunci utama, panjang kunci mesti ditentukan.

Walau bagaimanapun, MySQL tidak membenarkan pengehadan panjang kunci pada medan TEXT atau BLOB. Penyelesaiannya ialah sama ada mengalih keluar lajur BLOB atau TEKS daripada indeks atau kunci utama, atau pilih lajur lain sebagai kunci utama.

Jika anda berhasrat untuk mengehadkan saiz lajur TEXT atau BLOB, pertimbangkan untuk menggunakan VARCHAR sebaliknya. Nyatakan panjang maksimum dalam kurungan; contohnya, VARCHAR(255) mengehadkan lajur kepada 255 aksara.

Walaupun tanpa lajur BLOB atau TEXT, ralat mungkin berterusan disebabkan isu dengan panjang lajur VARCHAR. VARCHAR mempunyai panjang maksimum 255 aksara. Jika anda telah menentukan panjang yang terlalu besar (seperti VARCHAR(512)), MySQL mungkin menukarnya secara automatik kepada SMALLTEXT, menyebabkan ralat. Pastikan VARCHAR saiz medan anda di bawah 256 aksara.

Untuk mendapatkan maklumat yang lebih terperinci tentang MySQL Error 1170, terutamanya mengenai jenis TEXT/BLOB dalam kunci dan kunci utama, rujuk dokumentasi yang dirujuk.

Atas ialah kandungan terperinci Bagaimana untuk Membetulkan Ralat MySQL: 'Lajur BLOB/TEXT Digunakan dalam Spesifikasi Utama Tanpa Panjang Kunci'?. 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