我想知道什么之间的区别BigInt,MediumInt以及Int在...这似乎很明显,他们将允许更大的数字; 但是,我可以使一个Int(20)或一个BigInt(20)看起来似乎不一定与大小有关。
见http://dev.mysql.com/doc/refman/8.0/en/numeric-types.html
INT 是一个四字节有符号整数。
BIGINT 是一个八字节有符号整数。
它们各自接受的值不超过可以存储在其各自字节数中的值。表示中的2 32个值INT和中的2 64个值BIGINT。
20 in INT(20)和BIGINT(20)几乎没有任何意义。这是显示宽度的提示。它与存储无关,也与列将接受的值的范围无关。
实际上,它仅影响以下ZEROFILL选项:
CREATE TABLE foo ( bar INT(20) ZEROFILL ); INSERT INTO foo (bar) VALUES (1234); SELECT bar from foo;
+----------------------+ | bar | +----------------------+ | 00000000000000001234 | +----------------------+ 对于MySQL用户来说,看到INT(20)并假设它是一个大小限制(类似于)是一个常见的困惑源CHAR(20)。不是这种情况。来源:stack overflow