As variáveis de usuário usam os mesmos tipos de dados internos que o MySQL usa para cálculos em valores de coluna. Esses tipos internos são grandes o suficiente para todos tipos de dados suportados pelo MySQL.
- Os inteiros não têm
ZEROFILL
, pois é uma propriedade adicional da coluna, não do próprio tipo de dados. Além disso, variáveis de usuário inteiras não têm largura; quando convertidos em texto, eles usam tantos dígitos quantos forem necessários. - Valores de ponto flutuante não têm escala. Os floats IEEE de 64 bits são valores binários e têm precisão suficiente para cerca de 18 dígitos decimais.
- Strings devem, em teoria, conter qualquer
LONGTEXT
valor, semax_allowed_packet
é grande o suficiente e você tem memória suficiente. No entanto, há um limite não documentado de 16 MB para variáveis de usuário, mencionado em bug 31898 .