Dados longos demais para a coluna '<nome>'
Alguma coisa era grande demais para onde estava sendo salva, então não foi salva. Os inventários são o caso típico.
Faça isto primeiro
A coluna do banco precisa ser aumentada. Peça para a sua hospedagem ou para um desenvolvedor.
O que significa
O valor é maior do que a coluna consegue guardar e o MySQL se recusou a cortar em silêncio. A escrita não aconteceu, então o que estava sendo salvo se perdeu.
O que causa isso
Ordenado pela frequência com que é a resposta.
- 1
JSON guardado numa coluna pequena demais
Inventários, metadados e dados de emprego crescem.
VARCHAR(255)guarda um inventário inicial e não um de verdade;TEXTpara em 65 KB e um inventário grande pode passar disso. - 2
Um nome de jogador com caracteres multibyte
Um nome de 20 caracteres são mais de 60 bytes em utf8mb4. Um
VARCHAR(20)mede caracteres, mas um índice sobre ele mede bytes. - 3
Acumular em vez de substituir
Uma coluna de log ou de histórico à qual se acrescenta em vez de sobrescrever, e que cresce a cada save.
- 4
O esquema nunca foi migrado
O resource trouxe um .sql atualizado e só o código foi atualizado.
Como saber qual é o seu
Olhe a coluna, e depois o valor:
SHOW COLUMNS FROM users LIKE 'inventory'; SELECT LENGTH(inventory) FROM users ORDER BY LENGTH(inventory) DESC LIMIT 5;
Se o valor mais longo que já existe está perto do limite, isso vai acontecer com todo mundo, não só com o jogador que reportou.
Onde olhar
A definição da coluna, e o que o resource escreve dentro.
Como consertar
Dê espaço à coluna. LONGTEXT não custa nada até ser usado:
ALTER TABLE users MODIFY inventory LONGTEXT;
Para um log que de fato não tem teto, mova para uma tabela própria com uma linha por entrada em vez de um blob que cresce.
Ainda travado no seu próprio código?
Esta página é o que esse erro costuma significar. Cole o seu console no Server Fixer e ele vai ordenar tudo o que estiver lá e te dizer o que fazer primeiro; e se você preferir não mexer, o ORBIE consegue consertar o script e te devolver o resource pronto para soltar.
bug_reportAbrir o Server FixerPara esse tipo de erro, o Script Optimizer detecta os padrões de consulta que causam isso.