THE ORB
Studio başlatılıyor

Data too long for column '<ad>'

Bir şey kaydedileceği yere sığmayacak kadar büyüktü, o yüzden hiç kaydedilmedi — en yaygın durum envanterlerdir.

groupsVeri sessizce kayboluyorcodeGeliştirici gerektirir

Önce şunu yap

Veritabanı sütununun büyütülmesi gerekiyor. Barındırıcından ya da bir geliştiriciden genişletmesini iste.

bug_reportBunun yerine tüm konsolunu yapıştır

Ne anlama gelir

Değer, sütunun tutabileceğinden büyük ve MySQL onu sessizce kırpmayı reddetti. Yazma hiç gerçekleşmedi, yani kaydedilmeye çalışılan şey kayboldu.

Neden olur

Ne sıklıkla doğru cevap olduğuna göre sıralı.

  1. 1

    Fazla küçük bir sütunda saklanan JSON

    Envanterler, metadata ve meslek yükleri büyür. VARCHAR(255) başlangıç envanterini tutar, gerçek olanı tutmaz; TEXT 65 KB'de tavan yapar ve büyük bir envanter bunu geçebilir.

  2. 2

    Çok baytlı karakterler içeren bir oyuncu adı

    20 karakterlik bir ad utf8mb4'te 60+ bayttır. VARCHAR(20) karakter ölçer, ama üzerindeki bir indeks bayt ölçer.

  3. 3

    Değiştirmek yerine biriktirmek

    Üzerine yazmak yerine eklenen, her kayıtta büyüyen bir kayıt ya da geçmiş sütunu.

  4. 4

    Şema hiç göç ettirilmemiş

    Kaynak güncellenmiş bir .sql ile geldi ve yalnızca kod güncellendi.

Hangisinin seninki olduğu nasıl anlaşılır

Önce sütunu, sonra değeri kontrol et:

SHOW COLUMNS FROM users LIKE 'inventory';
SELECT LENGTH(inventory) FROM users ORDER BY LENGTH(inventory) DESC LIMIT 5;

Mevcut en uzun değer sınıra yakınsa, bunu yalnızca bildiren oyuncu değil, herkes yaşamak üzeredir.

Nereye bakmalı

Sütun tanımı, ve kaynağın içine ne yazdığı.

Nasıl düzeltilir

Sütuna yer aç. LONGTEXT kullanılana kadar hiçbir şeye mal olmaz:

ALTER TABLE users MODIFY inventory LONGTEXT;

Gerçekten sınırsız bir kayıt için, onu tek bir büyüyen blob yerine girdi başına bir satır olacak şekilde kendi tablosuna taşı.

Hâlâ kendi kodunda mı takıldın?

Bu sayfa, bu hatanın genelde ne anlama geldiğini anlatır. Konsolunu Server Fixer'a yapıştır; içindeki her şeyi sıraya dizer ve önce ne yapman gerektiğini söyler. Kendin uğraşmak istemiyorsan ORBIE script'i onarır ve kaynağı sunucuna atmaya hazır geri verir.

bug_reportServer Fixer'ı aç

Bu tür bir hata için Script Optimizer buna yol açan sorgu kalıplarını yakalar.

Bununla birlikte gelen hatalar