Добрый день! В PHPMyAdmin для задания поля есть вот такие окна (скриншот). В статьях на эту тему везде одно и тоже - в какое поле сколько инфы влезает. А вот как обозначить их конкретный размер при создании таблицы, я понять не могу. Вот поле TINYINT. Это тип целых чисел. Диапазон значений от -127 до 128, либо 0 до 255, в зависимости от того, может ли это поле быть отрицательным. Если у меня максимальное число 100, то как определить это поле? TINYINT(100) ? Я устанавливал TINYINT(4), и в это поле тоже записывается число 100. А если число от -100 до +100. Тогда как? * * * А вот поле INT. Его диапазон: от -2147483648 до 2147483647, либо от 0 до 4294967295. Если максимальное число 1000, то как определить это поле? INT(1000) ?
По умолчанию тип «знаковый», т.е. будут и отрицательные числа. Если нужен «беззнаковый», добавляете модификатор unsigned, например tinyint unsigned. Фигня в скобках для целочисленных типов уже устарела. Можно не указывать. На инф. размер это никогда не влияло. Читайте доки. --- Добавлено --- В скобках необходимое кол-во знакомест при выводе указывалось. Т.е. для int (это 32 бита) максимум будет 10 или 11 (11 для знаковых, т.к. у них еще символ минус может быть).
А как объяснить tinyint(12) и tinyint(255) ? Такие поля я встречал в чужих базах. И PHPMyAdmin не ругается, если их создать. А если при создании поля в PHPMyAdmin количество знаков в tinyint не указать, то PHPMyAdmin сам делает tinyint(4). Может быть, это и есть верный вариант?
Тупостью или желанием сделать широкие столбики при выводе в консоль, т.е. с кучей пробелов. Или, может, хотят, чтобы в заголовке таблицы имя поля норм. умещалось. Никогда не страдал этой фигней. За гуру администрирования и аналитики БД тоже таких страданий не замечал. --- Добавлено --- Я тебе написал, что в восьмерке (речь, естественно, о самом мускуле) это уже пофиг. Но если жить не можешь без этой фигни, делай на автомате под необходимый максимум, как это делает твоя любимая PMA. --- Добавлено --- tinyint(4) или tinyint(3) unsigned