首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > Mysql >

MySQL数据表的有关问题 谢了

2012-02-04 
MySQL数据表的问题 谢了CREATETABLE`messages`(`message_id`int(11)NOTNULLauto_increment,`account_id`in

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

热点排行