Zend DB表元数据为整数列长度返回null

时间:2015-08-19 22:52:53

标签: php mysql zend-framework

以下是我对整个15长度的phonenumber列的输出结果:

updating

我正在使用Zend Framework 1.12版。

1 个答案:

答案 0 :(得分:0)

INT是32位有符号整数,能够存储-2147483648到2147483647范围内的值。最大可能长度为11.

https://dev.mysql.com/doc/refman/5.6/en/integer-types.html

我不知道Zend是否根据长度进行任何额外处理,但从MySQL的角度来看,"长度"数字列上的属性是固定宽度终端时代的遗留特征,为应用程序提供有关可能的最长显示值的提示。它不会限制存储的实际数据。

https://dev.mysql.com/doc/refman/5.6/en/integer-types.html

无论如何,电话号码不是真正的整数。它们是具有语义意义的数字串,锚定在左侧(例如国家代码,国际城市代码,美国的NPA / NXX区号/前缀),因此最有可能有价值的排序顺序是词汇,而不是数字,所以a适当长度的VARCHAR似乎是更合适的数据类型。