Lajur Kunci Indeks Tidak Sah: Memahami dan Menyelesaikan Ralat
Mesej ralat "Lajur 'kunci' dalam jadual 'misc_info' adalah daripada jenis yang tidak sah untuk digunakan sebagai lajur kunci dalam indeks" menunjukkan isu dengan jenis data lajur yang digunakan sebagai kunci dalam indeks. Walaupun carian pantas mendedahkan bahawa had panjang indeks ialah 450 aksara, ini sahaja tidak memberikan penyelesaian kepada ralat.
Dalam kes ini, ralat berkenaan dengan lajur bernama "kunci" dengan jenis data nvarchar(maks). Untuk menyelesaikan masalah ini, jenis data lajur kunci mesti diubah suai kepada jenis yang sah untuk kunci indeks. Kekangan unik pada kunci indeks mempunyai had saiz maksimum 8000 bait setiap baris, dengan hanya 900 bait pertama digunakan. Oleh itu, untuk memastikan keserasian maksimum dan mengelakkan kemungkinan ralat, lajur kunci harus mempunyai jenis data yang membenarkan panjang maksimum 450 aksara.
Pernyataan SQL yang disemak berikut menyelesaikan ralat dengan mengubah suai jenis data lajur kunci kepada nvarchar(450):
CREATE TABLE [misc_info] ( [id] INTEGER PRIMARY KEY IDENTITY NOT NULL, [key] NVARCHAR(450) UNIQUE NOT NULL, [value] NVARCHAR(MAX) NOT NULL );
Dengan menggunakan nvarchar(450) untuk lajur kunci, anda boleh mencipta indeks unik tanpa menghadapi ralat "jenis tidak sah untuk lajur kunci". Ambil perhatian bahawa jika boleh, menggunakan varchar dan bukannya nvarchar mungkin membolehkan anda menambah panjang lajur kunci kepada 900 aksara.
Atas ialah kandungan terperinci Mengapa Pangkalan Data Saya Membuang Ralat 'Lajur Kunci Indeks Tidak Sah' dan Bagaimana Saya Boleh Membetulkannya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!