将AUTO_INCREMENT格式设置为“date / Num”

时间:2011-05-31 20:39:09

标签: mysql auto-increment

这是我的第一个问题所以请原谅我有任何错误.....

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

日期/数字

例如: 2011-06-01 / 0001,             2011-06-01 / 0002,             。             。             。             2011-06-02 / 0001,             2011-06-02 / 0002

        ...and so on

希望我能清楚地解决问题,并提前感谢.........

3 个答案:

答案 0 :(得分:0)

我很确定这是不可能的。但是,您可以使用INSERT触发器来模拟它。我现在无法访问MySQL,但希望这会让你知道如何做到这一点。如果我以后有时间,也许我会把示例代码放在一起。

答案 1 :(得分:0)

尝试以这种方式创建表

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)

答案 2 :(得分:0)

支持微秒的时间戳?像

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'