CREATE TABLE TT ( ID CHAR (8) NOT NULL, NM CHAR (10) DEFAULT '0' NOT NULL, PRIMARY KEY(ID));INSERT INTO tt (ID, NM) VALUES ('00000001', 'A')
INSERT INTO tt (ID, NM) VALUES ('00000002', 'B')
INSERT INTO tt (ID, NM) VALUES ('00000003', 'C')
INSERT INTO tt (ID, NM) VALUES ('00000004', 'D')+----------+----+
| ID | NM |
+----------+----+
| 00000001 | A |
| 00000002 | B |
| 00000003 | C |
| 00000004 | D |
+----------+----+UPDATE TT SET ID = ConCat(Elt(Length(ID+10),'0000000','000000','00000','0000','000','00','0',''),ID+10) WHERE ID =000000001+----------+----+
| ID | NM |
+----------+----+
| 00000011 | A |
| 00000002 | B |
| 00000003 | C |
| 00000004 | D |
+----------+----+
INSERT INTO tt (ID, NM) VALUES ('00000002', 'B')
INSERT INTO tt (ID, NM) VALUES ('00000003', 'C')
INSERT INTO tt (ID, NM) VALUES ('00000004', 'D')+----------+----+
| ID | NM |
+----------+----+
| 00000001 | A |
| 00000002 | B |
| 00000003 | C |
| 00000004 | D |
+----------+----+UPDATE TT SET ID = ConCat(Elt(Length(ID+10),'0000000','000000','00000','0000','000','00','0',''),ID+10) WHERE ID =000000001+----------+----+
| ID | NM |
+----------+----+
| 00000011 | A |
| 00000002 | B |
| 00000003 | C |
| 00000004 | D |
+----------+----+
解决方案 »
- win mysql 启动失败: Plugin 'FEDERATED' is disabled.
- 这结果是咋回事
- SQL 异常: Server configuration denies access to data source
- 请问重装系统后如何才能访问之前建立的表?
- 救命,我实在想不好,如何设计一个社团活动小系统数据库
- MY-SQL创建数据库出现异常?
- 求助:mysql中isAfterLast()方法怎么总是false啊!!!!!!!
- 请问mysql难吗?
- 看到一个很经典的帖子,与大家分享!(Mysql数据库的备份)
- mysql如何设置类似相互外键的关系
- Mysql 问题
- mysqlfront连接mysql服务器出错
| ID | NM |
+----------+----+
| 00000011 | A |
| 00000102 | B |
| 00000003 | C |
| 00000004 | D |
+----------+----+以 Char 型代替INT 型,就可以实现 0打头的数字
以后在更新时就要处理补0的问题,
用上面的两种 函数配合方式就能达到你的期望了呵呵,应该符合你的要求了吧!!
8.32
8.29
8.29
8.29
SELECT BENCHMARK(10000,ConCat(Repeat('0',8-Length(ID+100)),ID+100)) FROM TT;运行时间(秒)
8.35
8.33
8.32
8.33
环境
CPU CII 1000MHz呵呵,寻求更好的算法
其实,我问:
我通常用VARCHAR做ID的数据类型,但我觉得,我使用的ID也就只有0-9的十个字符,用8位来表示比较浪费,用4位表示0-9就够了。就省些。
所以,我问MySql中有没有这种数据类型。用4位二进制表示一个字符。
探索JSP的小菜鸟..望大家多多指教.因为我实在是太菜了.
同样Date\DateTime\等也不可以
只有数值型的才能设AUTO_INCREMENT属性
包括浮点型,