Data too long for column '<nazwa>'
Coś było za duże na miejsce, w które miało zostać zapisane, więc nie zostało zapisane w ogóle — zwykle chodzi o ekwipunki.
Zrób najpierw to
Kolumnę w bazie trzeba powiększyć. Poproś hostingodawcę albo programistę, żeby ją poszerzył.
Co to znaczy
Wartość jest większa, niż kolumna potrafi pomieścić, a MySQL odmówił cichego obcięcia. Zapis się nie odbył, więc to, co było zapisywane, przepadło.
Co to powoduje
Uszeregowane według tego, jak często są odpowiedzią.
- 1
JSON zapisywany w za małej kolumnie
Ekwipunki, metadane i dane prac rosną.
VARCHAR(255)pomieści ekwipunek startowy, ale nie prawdziwy;TEXTkończy się na 65 KB, a duży ekwipunek potrafi to przebić. - 2
Nick gracza ze znakami wielobajtowymi
Nazwa mająca 20 znaków to 60+ bajtów w utf8mb4.
VARCHAR(20)liczy znaki, ale indeks na nim liczy bajty. - 3
Dopisywanie zamiast podmieniania
Kolumna logu albo historii, do której się dopisuje zamiast nadpisywać, rośnie z każdym zapisem.
- 4
Schemat nigdy nie został zmigrowany
Zasób przyszedł ze zaktualizowanym .sql, a zaktualizowano tylko kod.
Jak poznać, który jest twój
Sprawdź kolumnę, potem wartość:
SHOW COLUMNS FROM users LIKE 'inventory'; SELECT LENGTH(inventory) FROM users ORDER BY LENGTH(inventory) DESC LIMIT 5;
Jeśli najdłuższa istniejąca wartość jest blisko limitu, zaraz dostaną tego wszyscy, nie tylko gracz, który zgłosił.
Gdzie szukać
Definicja kolumny i to, co zasób do niej zapisuje.
Jak to naprawić
Daj kolumnie miejsce. LONGTEXT nic nie kosztuje, dopóki się go nie wykorzysta:
ALTER TABLE users MODIFY inventory LONGTEXT;
Dla naprawdę nieograniczonego logu przenieś go do własnej tabeli z jednym wierszem na wpis, zamiast trzymać jeden rosnący blob.
Wciąż utknąłeś na własnym kodzie?
Ta strona mówi, co ten błąd zwykle oznacza. Wklej swoją konsolę do Server Fixera, a uszereguje wszystko, co w niej jest, i powie, co zrobić najpierw; a jeśli wolisz tego nie ruszać, ORBIE naprawi skrypt i odda ci zasób gotowy do wrzucenia.
bug_reportOtwórz Server FixerDla tego rodzaju błędu Script Optimizer wyłapuje wzorce zapytań, które to powodują.