设置AUTO_INCREMENT格式为“日期/民”

问题描述:

这是我第一次在这里这么疑问句,请原谅我的任何错误.....设置AUTO_INCREMENT格式为“日期/民”

什么我想要做的是设置在MySQL数据库中,以便在AUTO_INCREMENT选项它开始从特定格式计算如:

日期/数字

为eample:2011-06-01/0001, 2011-06-01/0002, 。 。 。 2011-06-02/0001, 2011-06-02 /技术

 ...and so on 

希望我做我的问题清楚,在此先感谢.........

我很确定这是不可能的。但是,您可以使用INSERT触发器来模拟它。我现在无法访问MySQL,但希望这会让您知道如何执行此操作。如果我稍后有时间,也许我会为您编写示例代码。

尝试以这种方式

create table test (
id int(4) zerofill auto_increment, 
mydate date, 
primary key (mydate,id) 
); 

insert into test (mydate) 
values 
('2011-06-01'), 
('2011-06-02'), 
('2011-06-02'), 
('2011-06-01'), 
('2011-06-01'), 
('2011-06-03'); 



mysql> select * from test; 
+------+------------+ 
| id | mydate  | 
+------+------------+ 
| 0001 | 2011-06-01 | 
| 0002 | 2011-06-01 | 
| 0003 | 2011-06-01 | 
| 0001 | 2011-06-02 | 
| 0002 | 2011-06-02 | 
| 0001 | 2011-06-03 | 
+------+------------+ 
6 rows in set (0.00 sec) 
+0

对不起,我怕我误解你的问题。 :( – 2011-05-31 21:22:14

+0

这看起来不错,但是它限制了你的引擎对myISAM的选择,如果你想要innoDB你不得不使用触发器。没有理由将组合的日期/数字存储在一列中,你可以将它们连接在select中。 – piotrm 2011-05-31 21:44:50

微秒支持时间戳创建一个表?像

CREATE table t (
    f1 TIMESTAMP(6) DEFAULT CURRENT_DATETIME 
); 

和行号选择:

SET @rownum : = 0 
SELECT @rownum := @rownum + 1 AS num, t.* 
    FROM t 
WHERE DATE(t.f1) = '2011-01-01'