Controleer deze Numerieke typekenmerken voor het veel complete verhaal:
MySQL ondersteunt een extensie voor het optioneel specificeren van de weergavebreedte van integer-gegevenstypen tussen haakjes na het basissleutelwoord voor het type. INT(4) specificeert bijvoorbeeld een INT met een weergavebreedte van vier cijfers. Deze optionele weergavebreedte kan door toepassingen worden gebruikt om gehele waarden weer te geven met een breedte die kleiner is dan de breedte die is opgegeven voor de kolom door ze links in te vullen met spaties. (Dat wil zeggen, deze breedte is aanwezig in de metagegevens die worden geretourneerd met resultatensets. Of het wordt gebruikt, hangt af van de toepassing.)
De weergavebreedte beperkt het bereik van waarden die in de kolom kunnen worden opgeslagen niet. Het verhindert ook niet dat waarden die breder zijn dan de kolomweergavebreedte correct worden weergegeven. Een kolom die is gespecificeerd als SMALLINT(3) heeft bijvoorbeeld het gebruikelijke SMALLINT-bereik van -32768 tot 32767, en waarden buiten het toegestane bereik van drie cijfers worden volledig weergegeven met meer dan drie cijfers.
Het is dus veilig om dit soort waarschuwingen te negeren tot de huidige versie van MySQL (8.0.17 op het moment van schrijven).
Als je deze waarschuwingen wilt vermijden en veilig wilt spelen, update dan al je betrokken tabellen met kolomtypedefinities van zoiets als INT(##)
naar INT
(d.w.z. zonder expliciet de weergavebreedte te specificeren).