Bu hata, MySQL veritabanına aktarmaya çalıştığınız bir tablonun bir veya daha fazla sütununun, UTF-8 karakter kodlamasının kullanılması nedeniyle maksimum izin verilen anahtar uzunluğunu aşması sonucunda meydana gelir. Bu, birçok web uygulamasının kullandığı varsayılan karakter kodlamasıdır.

Anahtarlar, bir veritabanındaki verileri hızlı bir şekilde aramak için kullanılır. UTF-8 karakter kodlaması kullanıldığında, bazı karakterlerin birden fazla bayt gerektirmesi nedeniyle anahtar boyutu artabilir. MySQL'in UTF-8 için varsayılan bir karakter seti tanımlaması, bu hatanın daha sık meydana gelmesine neden olur.

Bu hatayı çözmek için aşağıdaki yöntemleri kullanabilirsiniz:

  1. Veritabanındaki karakter seti ve sıralama ayarlarını değiştirin UTF-8 yerine Latin1 karakter seti kullanarak, anahtar uzunluğunu artırabilirsiniz. Ancak, bu seçenek karakter kodlamasına bağlı olarak bazı karakterleri kırabilir ve bazı dillerin yazımını desteklemeyebilir.

  2. MySQL sürümünü yükseltin MySQL 5.7.7 ve sonraki sürümlerinde, maksimum anahtar uzunluğu artırıldı. Bu nedenle, MySQL sürümünüzü yükseltmek, bu hatayı çözmek için bir seçenek olabilir.

  3. Veritabanı tablosunda sütunlar için anahtar uzunluğunu düşürün Sütunların anahtar uzunluğunu manuel olarak azaltarak, hata mesajındaki maksimum izin verilen anahtar uzunluğunu aşmaktan kaçınabilirsiniz. Bununla birlikte, bu sütunların arama performansını etkileyebilir.

Bu yöntemlerin her biri için daha ayrıntılı talimatlar için, web barındırma hizmeti sağlayıcınızın veya MySQL belgelerinin yardım sayfalarına başvurmanız önerilir.

這篇文章有幫助嗎? 0 Users Found This Useful (0 Votes)