Размер поля INT в таблице

EugeneVC

Новичок
Размер поля INT в таблице

Когда я выполняю следующий SQL code:

CREATE TABLE `test` (
`id` INT NOT NULL AUTO_INCREMENT
)

в phpMyAdmin.

То создается таблица с размером поля id(10). Как я понимаю 10 означают количество символов.

По спецификации INT хранится в 4 байтах и меняется от -2147483648 до 2147483647.

Но я могу поставить и id(11), id(12). Но php работать уже не сможет, у него нет таких точных вычислений.

Вопрос в том, какую размерность ставить?

id(10) или что то другое?
 

Кром

Новичок
>То создается таблица с размером поля id(10). Как я понимаю 10 означают количество символов.

Количество символов чего? :)

>Но я могу поставить и id(11), id(12). Но php работать уже не сможет, у него нет таких точных вычислений.

Ты не правильно понимаешь значение цифр в скобках. Ознакомься с мануалом по mysql, раздел - типы данных.

>Вопрос в том, какую размерность ставить?

А какая тебе нужна?
 

EugeneVC

Новичок
как мне кажется я правильн понимаю

Another extension is supported by MySQL for optionally specifying the display width of an integer value in parentheses following the base keyword for the type (for example, INT(4)). This optional display width specification is used to left-pad the display of values having a width less than the width specified for the column

When used in conjunction with the optional extension attribute ZEROFILL, the default padding of spaces is replaced with zeros. For example, for a column declared as INT(5) ZEROFILL, a value of 4 is retrieved as 00004.

Именно количество символов в строке для INT
 

EugeneVC

Новичок
я не понял одного

phpBB ставит int(11)
myphpadmin ставит int(10)

какая разница? и сколько байт тратиться на хранение? 4 байта?
 

EugeneVC

Новичок
я базу оптимизирую, вот и удивился
привык к C
там размеры в байтах задают, а не в знакоместах

а почему разницы нет?
 

Фанат

oncle terrible
Команда форума
Но php работать уже не сможет, у него нет таких точных вычислений.
что ты собрался вычислять?

-~{}~ 06.12.05 19:08:

там размеры в байтах задают, а не в знакоместах
размер поля int ты задать не можешь, оптимизатор сопливый.
 
Сверху