Въпрос за MySQL

d3velop

Registered
Здравейте искам да попитам какво точно означават числата примерно
INT(255), VARCHAR(100) ... Тези числата в скобите .. как да разбера точно за колко символа е полето примерно Нещо не ми са много ясни точно тези числа ;-) ... Благодаря ;-)
 
Числата в скобите значат колко символа може да се побере в полето. Тоез ако и задал Varchar(10) в това поле ще може да се записват 10 символа
пример: QWERTYUIOP
По отношение на това колко да е голямо това число определяш ти спрямо това което ще съхраняваш. :)
 
За числата е вярно, но има разлика за кирилица и латиница. Ако да речем латиница имаш 255 символа, от даден текст, то на кирилица ще ти ореже текста от 255, понеже един символ кирилица се въвежда все едно с 2 символа. Дано си ме разрал, че мн неясно го написах.

И това важи за utf-8, не съм сигурен др как работят :)
 
shterev каза:
За числата е вярно, но има разлика за кирилица и латиница. Ако да речем латиница имаш 255 символа, от даден текст, то на кирилица ще ти ореже текста от 255, понеже един символ кирилица се въвежда все едно с 2 символа. Дано си ме разрал, че мн неясно го написах.

И това важи за utf-8, не съм сигурен др как работят :)

Да и аз така си мислих че е но примерно ако е INT(255) мога да запиша максимум 2^31 ... А ако кажем примерно че ми е INT(200) Тогава какво е най-голямото чиско което мога да запиша вътре ;-) ?
 
Когато полето е тип int(N) - числото в скобите няма нищо общо с това колко числа може да побере. Те винаги са 2^31 ( 2147483648 ) или ако е unsigned : 4294967295 . Числата в скобите се използват когато се използва опцията "zerofill" за съответното поле . Тогава при int(1) default value ще бъде 0, а при int(10) : 0000000000 . Така, че разлика просто няма.
 
hrischo каза:
Когато полето е тип int(N) - числото в скобите няма нищо общо с това колко числа може да побере. Те винаги са 2^31 ( 2147483648 ) или ако е unsigned : 4294967295 . Числата в скобите се използват когато се използва опцията "zerofill" за съответното поле . Тогава при int(1) default value ще бъде 0, а при int(10) : 0000000000 . Така, че разлика просто няма.

10x ;-)
 

Back
Горе