MySQL数据表的问题 谢了
CREATE TABLE `messages` (
`message_id` int(11) NOT NULL auto_increment,
`account_id` int(11) NOT NULL,
`sender_id` int(11) NOT NULL,
`message` varchar(500) NOT NULL,
`reg_timestamp` int(11) default '0 ',
`read_timestamp` int(11) default '0 ',
PRIMARY KEY (`message_id`)
) ENGINE=MyISAM AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;
int(11)的11是指的什么意思,是11位数吗
但是int最大是4294967295才10位数
为什么写成int(11)呢?
感谢
------解决方案--------------------int(11)的意思是最大长度为11位 (MySQL完全手册第44页这么说的)
但是如果在插入时这个栏位的值为2000000000000,系统会自动处理得到一个不正确的数字。
------解决方案--------------------这个代表显示宽度。
整数列的显示宽度与mysql需要用多少个字符来显示该列数值,与该整数需要的存储空间的大小都没有关系,比如,不管设定了显示宽度是多少个字符,bigint都要占用8个字节。
------解决方案--------------------恩,对,比如-1234567890 11位。如果你指定了unsigned那么最多就是10位了