RT
我想把id存储为001这样的3位格式 但自动被忽略掉前面的0 怎么办?

解决方案 »

  1.   

    MYSQL自身环境中可以对于声明为INT(5) ZEROFILL的列,值4检索为00004
      

  2.   

    CREATE TABLE ttp2(id INT(3) ZEROFILL)
      

  3.   

    但这个设置仅对MYSQL内部有用,即如果你是通过ADO,C#去访问,结果仍会是不带0的。 
    数字的存储格式,和数字的显示格式是不同的事情。 数据库本身只负责数据据的存储,显示则应该由你的程序来完成。不建议你在数据库中进行此类设置。
      

  4.   

    如果只是想存储
    可以使用zerofill来实现 mysql> use test
    Database changed
    mysql> drop table if exists tb;
    Query OK, 0 rows affected (0.16 sec)mysql> create table tb(id int(3) zerofill );
    Query OK, 0 rows affected (0.09 sec)mysql> insert tb select 1
        -> union all select 2
        -> union all select 3;
    Query OK, 3 rows affected (0.07 sec)
    Records: 3  Duplicates: 0  Warnings: 0mysql> select * from tb;
    +------+
    | id   |
    +------+
    |  001 |
    |  002 |
    |  003 |
    +------+
    3 rows in set (0.00 sec)