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
LONGTEXT
wartość, jeślimax_allowed_packet
jest 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 .