mysql中的int能存储为001这样的形式吗? RT我想把id存储为001这样的3位格式 但自动被忽略掉前面的0 怎么办? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 MYSQL自身环境中可以对于声明为INT(5) ZEROFILL的列,值4检索为00004 CREATE TABLE ttp2(id INT(3) ZEROFILL) 但这个设置仅对MYSQL内部有用,即如果你是通过ADO,C#去访问,结果仍会是不带0的。 数字的存储格式,和数字的显示格式是不同的事情。 数据库本身只负责数据据的存储,显示则应该由你的程序来完成。不建议你在数据库中进行此类设置。 如果只是想存储可以使用zerofill来实现 mysql> use testDatabase changedmysql> 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) mysql备份问题 sql删除重复行 关于设置session 级别的engine 问题 为什么用pg_connect连接不上呢(不是 undefined fuction) 如何高效查找周数据中的TOP10数据 支招:用mysql是否安全? 排序问题,请高手指点 存储过程放在sql脚本里,命令行导入总是提示错误 为什么能查询到的Mysql单个数据库剩余空间? 求助!关联查询问题 如何在既有配置里增大innodb_buffer_pool_size参数的值 求MYSQL触发器
数字的存储格式,和数字的显示格式是不同的事情。 数据库本身只负责数据据的存储,显示则应该由你的程序来完成。不建议你在数据库中进行此类设置。
可以使用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)