最近在使用mysql时才真正搞清楚int(11)中11的真正含义,以前只是简单的以为是用来表示存储最大为11位长的整数,其实没有那么简单,int类型规定只占用4个字节,最长也就是32位,当用有符号数表示时最大值为2147483647,无符号数表示时最大值位4294729693,由此可见,这个数字只是指定最大显示长度,所以int(10)、int(11)、int(12)应该没有什么区别,因为最大数值也就是10位。
另外,如果用php中的intval转换mysql中的int(11)表示的数值时,最大也只能转换2147483647,再大的话就会溢出。看来php和mysql还是一致的。