GRY-Online.pl --> Archiwum Forum

MySQL - typ INT i długość/wartość.

17.11.2010
11:56
[1]

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)?

17.11.2010
11:58
[2]

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.

17.11.2010
12:01
[3]

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.

17.11.2010
12:08
[4]

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.

17.11.2010
12:13
[5]

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.

© 2000-2025 GRY-OnLine S.A.