Apabila mencipta indeks unik pada jadual, anda mungkin menghadapi ralat "Lajur '[kunci]' dalam jadual '[jadual]' adalah daripada jenis yang tidak sah untuk digunakan sebagai lajur utama dalam indeks." Ralat ini biasanya berlaku apabila jenis data lajur yang ditentukan untuk indeks terlalu besar.
Punca biasa ralat ini ialah kunci indeks dengan panjang maksimum yang melebihi had yang dibenarkan. Dalam Microsoft SQL Server, panjang maksimum untuk kunci indeks ialah 900 bait.
Untuk menyelesaikan isu ini, pertimbangkan untuk mengurangkan panjang maksimum lajur kunci. Dalam kes anda, lajur kunci ditakrifkan sebagai nvarchar(maks), yang membolehkan panjang tanpa had. Untuk kunci indeks, anda dinasihatkan menggunakan jenis data terhad seperti nvarchar(450), yang memastikan panjang kunci indeks berada dalam допустимые пределы.
Berikut ialah definisi jadual yang dikemas kini dengan lajur kunci terhad kepada 450 watak:
CREATE TABLE [misc_info] ( [id] INTEGER PRIMARY KEY IDENTITY NOT NULL, [key] NVARCHAR(450) UNIQUE NOT NULL, [value] NVARCHAR(MAX) NOT NULL );
Dengan membuat pelarasan ini, anda pastikan lajur kunci memenuhi keperluan saiz untuk kunci indeks, menyelesaikan ralat.
Atas ialah kandungan terperinci Mengapa Indeks Unik saya Gagal dengan 'Jenis Lajur Kunci Tidak Sah'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!