读书人

MySQL数据表的有关问题 谢了

发布时间: 2012-02-04 15:43:08 作者: rapoo

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位了

读书人网 >Mysql

热点推荐