из 10.1.1. Числовой обзор типа :
M indicates the maximum display width for integer types. The maximum legal
display width is 255. Display width is unrelated to the range of values a type
can contain [...].
То есть tinyint(M)
, или tinyint(1)
в вашем случае, означает, что любое значение, сохраненное в role_id
, будет обрезано до длины одного байта при отображении MySQL. Аналогично, tinyint(3)
будет содержать однозначное целое число с двумя пробелами. Вы также можете использовать tinyint(3) zerofill
для дополнения 0
s вместо этого, но у него есть побочный эффект: tinyint
s без знака.
Однако, независимо от того, как вы указываете свои tinyint
s, они будут храниться внутри как целое число в диапазоне [-128,127]
(со знаком) или [0,255]
(без знака), и поэтому это значение будет получать PHP при запросе вашего базы данных.
Вы можете использовать mysql_field_len и substr , чтобы ограничить ширину экрана аналогично PHP.