Zmienne użytkownika używają tych samych wewnętrznych typów danych, których MySQL używa do obliczeń wartości kolumn. Te typy wewnętrzne są wystarczająco duże dla wszystkich typy danych obsługiwane przez MySQL.
- Liczby całkowite nie mają
ZEROFILL, ponieważ jest to dodatkowa właściwość kolumny, a nie samego typu danych. Co więcej, zmienne użytkownika w postaci liczb całkowitych nie mają szerokości; po konwersji na tekst używają tyle cyfr, ile potrzeba. - Wartości zmiennoprzecinkowe nie mają skali. 64-bitowe liczby zmiennoprzecinkowe IEEE są wartościami binarnymi i mają wystarczającą precyzję dla około 18 cyfr dziesiętnych.
- Struny powinny teoretycznie zawierać dowolny
LONGTEXTwartość, jeślimax_allowed_packetjest wystarczająco duży i masz wystarczająco dużo pamięci. Istnieje jednak nieudokumentowany limit 16 MB dla zmiennych użytkownika, wspomniany w błąd 31898 .