[MySQL] Co oznaczają liczby przy typach liczbowych INT(11) ?

Bazy danych
[MySQL] Co oznaczają liczby przy typach liczbowych INT(11) ?

Większość z nas używa programów do zarządzania bazami danych, w przypadku bazy MySQL najpopularniejszym jest PHPMyAdmin. Przedstawiony klient bazodanowy podobnie jak inne generują za nas zapytania tworzenia tabel w których widzimy zapisy INT(11) przy polach typu INT (ewentualnie zapis INT(10)). Część początkujących programistów uważa że zapis ten jest odpowiedzialny za ograniczenie ilości cyfr np. zapis INT(5) pozwoli na wpisanie cyfry 77777 zaś cyfra 77777777777 zostanie ucięta.

Rozumowanie to jest błędne, cyfra przy typie INT nie oznacza ograniczenia cyfr a jest informacją do ilu znaków ma zostać uzupełniona cyfra przy włączonej opcji ZEROFILL, której jeszcze chyba nigdy w projekcie nie użyłem, ale jest taka możliwość 😉

Mam nadzieję że to wyjaśnia po co są te cyfry przy typach. Jeśli zaś chcecie ograniczyć wielkość wpisywanych cyfr to należy wykorzystać do tego typy pól. Nie liczcie jednak że będzie można ustawić że maksymalna cyfra jaką można wpisać to 999, taką kontrolę musicie ustawić w aplikacji nie zaś po stronie bazy danych.