我正在使用MySQL和InnoDB。
我需要存储一个数字ID,其长度可以变化,但需要至少为10.例如:
0000000001
11111111111都是正确的值。
目前,我的列具有以下属性:bigint(10),unsigned zerofill。这有效:如果我尝试插入" 1"然后" 0000000001"实际上是插入的,如果我插入一个更大的数字(长度> 10)它也可以。
那么,最后,字段定义中length属性的目的是什么?我认为这是最大长度,但显然事实并非如此......?或者我目前的实施最终会崩溃吗?
答案 0 :(得分:0)
length属性只是MySQL如何在命令行客户端格式化选择查询结果的提示。而已。它实际上对数据类型没有影响。 int是一个包含4个字节的int,无论您指定的长度如何。同样适用于bigint,但有8个字节。