Lozano23 [ Pretorianin ]
MySQL - typ INT i długość/wartość.
Witam!
Mam takie pytanie - jakie znaczenie ma definiowanie długości/wartości dla pól liczb typu int (i innych)?
Czym się różni int(4) od int(11)?
yo dawg [ 1979 ]
Różnica taka, że w integerze11 zmieścisz integer4, ale w integerze4 nie zmiescisz integera11.
Generalnie długość pola powinna być taka jaka jest/może być długość najdłuższego elementu w danej kolumnie.
BlackBolt [ Senator ]
Pytania kończy się znakiem zapytania a nie kropką.
Z punktu użytkownika różni to się tym, że w pierwsze pole będzie mógł wprowadzić maksimum 4 znaki, a w drugie 11. Z punktu widzenia bazy danych oznacza to, że jeżeli wpiszemy 1, to pierwsze pole będzie zajmowało mniej miejsca, niż drugie. Przy małych bazach danych nie ma to tak wielkiego znaczenia, ale przy dużych można w ten sposób zaoszczędzić sporo miejsca, jakie będzie potrzebowała baza.
Lozano23 [ Pretorianin ]
@BlackBolt
Poprawiłem kropkę :P
Dzięki. Mniej więcej w tym kierunku rozumowałem, że się tak wyrażę :)
Wątpliwości naszły mnie jednak, gdy mając pole typu tinyint(1) wprowadziłem 11.
Chyba, że nie rozumiem znaczenie "długość" w tym przypadku.
wysiak [ Legend ]
Nie uzywam MySQLa, i nie znam go za bardzo, ale imho deklaracja INT(10) nie oznacza fizycznego ograniczenia pola, a tylko formatu, w jakim wartosc bedzie zwracana, baza bedzie dopelniac zerami albo spacjami. Cos jak oraclowy CHAR, a nie VARCHAR2.