1406: Data too long for column
MySQLO que significa?
Foi gravado um valor maior que o comprimento máximo definido da coluna. Por exemplo, uma string de 20 caracteres não cabe em uma coluna VARCHAR(10).
Por que acontece?
Largura da coluna pequena demais para os dados; caracteres em um character set multibyte (utf8mb4) ocupando mais espaço que o esperado; o resultado de uma concatenação ficando mais longo; SQL mode estrito ativo (caso contrário, o valor é truncado silenciosamente).
Como resolver
Amplie a coluna: ALTER TABLE my_table MODIFY my_column VARCHAR(255); Para conteúdo muito longo, considere o tipo TEXT. Se o valor precisar ser encurtado, corte-o na aplicação ou com SUBSTRING. Encontre a linha que estoura: SELECT * FROM my_table WHERE CHAR_LENGTH(my_column) > 10; Adicione validação de entrada.