Användarvariabler använder samma interna datatyper som MySQL använder för beräkningar av kolumnvärden. Dessa interna typer är tillräckligt stora för alla datatyper som stöds av MySQL.
- Heltal har inte
ZEROFILL
, eftersom det är en ytterligare egenskap för kolumnen, inte för själva datatypen. Dessutom har heltalsanvändarvariabler ingen bredd; när de konverteras till text använder de precis så många siffror som behövs. - Flyttalsvärden har ingen skala. 64-bitars IEEE-floats är binära värden och har tillräckligt med precision för cirka 18 decimalsiffror.
- Strängar bör i teorin innehålla vilken
LONGTEXT
som helst värde, ommax_allowed_packet
är tillräckligt stor och du har tillräckligt med minne. Det finns dock en odokumenterad gräns på 16 MB för användarvariabler, som nämns i bugg 31898 .