用于存储从零开始的整数的MySQL数据类型?

时间:2011-06-08 13:47:12

标签: mysql types

我必须在数据库中存储isdCodes 0091 001 009751等格式的009665,初始化基本上从零开始。我尝试使用int作为数据类型与unsigned属性,但它似乎不起作用。哪种数据类型适合存储此类值?

3 个答案:

答案 0 :(得分:3)

  

不起作用,因为IDD前缀在大多数情况下是00,但并非总是如此。它在大多数情况下以0开始,但并非总是如此。

由于前导零的数量很重要(即0091091),在这种情况下,我会选择varchar

如果你真的想要使用某种数字类型,我猜你可以在数字前加1来保持零,但这有点像黑客。

答案 1 :(得分:0)

我会使用一些varchar,因为 ISD代码不是你想要“计算”的东西,而是数字序列而不是整数本身。领先的000表明非常好。

修改 刚刚看到像8~10这样的IDD前缀存在。所以没有办法使用类似数字的数据类型。如果您希望能够存储任何ISD代码,则必须使用varchar或类似的东西。

答案 2 :(得分:-1)

您可以使用ZEROFILL,即:

CREATE TABLE test (value int zerofill);

INSERT INTO test values(1), (20), (515);