varchar(30)

4 отговора 107 прегледа
#1

varchar(30)

Za kakvo sluji indikatora (30) . Do kokoto az razbiram maksimaklen broy znaci . Stava vupros za Mysql

Отговор
в отговор на Kif #2

Re: varchar(30)

Много правилно.

Максималната стойност която може да се зададе за поле от типа varchar e 255 или varchar(255). В такъв тип поле можеш да съхравяваш всякакви знаци - букви и цифри, запетайки и т.н. Обърни внимание обаче, че ако записваш цифри и после със заявката към mysql-a искаш да ти подрети тези цифри по някакъв начин (desc/asc), това няма да стане. Ако имаш 4; 12; 21 и искаш да ти ги подреди като order by desc ще получиш 12;21;4; За да съхраняваш числа, по-добре използвай int за цели числа и float за числа със запетая.

Казвам го, защото една нощ преди няколко месеца не можах да спя докато разбера защо така ми се подреждат числата

Отговор
в отговор на $burov #3

Re: varchar(30)

A greshka li shte e ako ostavq prazna t.e samo varchar. I tozi indikator za vsichki tipove danni li moje da se sloji naprimer za text

Отговор
в отговор на Kif #4

Re: varchar(30)

Въобще не можеш да създадеш таблица в която да не си написал дължината на varchar - mysql-a ще върне грешка и няма да я създаде. Още нещо - не съм го забелязвал, но в книгата която ползвам пише че ако зададеш стойност, по-малка от 4, mysql-a автоматично ще промени полето на тип char(4)

Както вече казах, можеш да съхраняваш всякакви символи, в това описание влиза и текст. И все пак максималния размер на полето от 255 символа. Ако ти трябва повече място за текст изолзвай поле от типа text - него можеш да го оставиш само така, без цифри във скобите и в този случай максималната дължина е 65 535 символа.

Отговор
в отговор на $burov #5

Re: varchar(30)

> ако зададеш стойност, по-малка от 4, mysql-a автоматично ще промени полето на тип char(4)

Зависи. Всъщност таблиците са 2 вида - с фиксирана дължина на реда и с променлива. Ако имаш една колонка с променлива дължина varchar, text, blob - то целия ред става с промелнива дължина и MySQL променя всички char на varchar

Ако редът е с фиксирана дължина тогава важи горното правило.
Причината е, че при по малко от 5 байта няма кой-знае каквма печалба в размера

salle.online.bg/sig
Отговор