MySQL INT запитване....

tahys

Registered
Здравейте искам да попитам ако въеда INT(5) 5 символа ли мога да съдържа това поле или това в скобите означава друго.....

а INT(255) кое е най-голямото число което мога да събера в него?
 
int(5) означава, че в полето могат да се запишат максимум 5 цифри, така че най-голямото число, което можеш да запишеш ще е 99999. А по принцип най-голямото число, което може да се запише е 2147483647 (Типове данни в MySQL).
 
misho каза:
int(5) означава, че в полето могат да се запишат максимум 5 цифри, така че най-голямото число, което можеш да запишеш ще е 99999. А по принцип най-голямото число, което може да се запише е 2147483647 (Типове данни в MySQL).

Това не е вярно... :shock:

Можеш да пробваш следното нещо:
SQL:
Код:
CREATE TABLE `asdsa` (
  `id` int(5) NOT NULL auto_increment,
  `chislo` int(5) NOT NULL,
  PRIMARY KEY  (`id`)
);
PHP:
Код:
for($i = 1; $i < 150000; $i++) {
	mysql_query("INSERT INTO asdsa VALUES ('', '{$i}')") or die(mysql_error());
}

При INT(n) можеш да запишеш числа от -2147483648 до 2147483647.
 
hrischo, кое по-точно не е вярно?
В поле, чиито стойности са ограничени до 5 цифри, не би трябвало да могат да се записват шестцифрени числа. Т.е. ако се опиташ да запише числото 123456, не трябва ли в полето да се запише 12345?
 
misho каза:
hrischo, кое по-точно не е вярно?
В поле, чиито стойности са ограничени до 5 цифри, не би трябвало да могат да се записват шестцифрени числа. Т.е. ако се опиташ да запише числото 123456, не трябва ли в полето да се запише 12345?

Не.Ще си запише и 123456 без проблеми.Проблема ще дойде ако се опиташ да запишеш число по-голямо от 2147483647 .
 
Ами тогава какъв е смисълът от това ограничение? Ето какво пише!
Код:
При всички целочислени типове параметърът length е незадължителен. Чрез него можете да ограничите броя на цифрите на числото.

Пробвах, прав си. Записа се без проблеми. :?
 

Back
Горе