Mysql 将自动增量格式设置为";“日期/数量”;

Mysql 将自动增量格式设置为";“日期/数量”;,mysql,auto-increment,Mysql,Auto Increment,这是我在这里的第一个问题,请原谅我的任何错误 我想做的是在MySQL数据库中设置Auto_increment选项,以便它从特定格式开始计数,例如: 日期/编号 对于eample:2011-06-01/0001, 2011-06-01/0002 , . . . 2011-06-02/0001 , 2011-06-02/0002 ...and so on 希望我能把我的问题弄清楚,并提前感谢……。我很确定这是不可能的。但是,您可以使用插入触发器来模拟它。我现在没

这是我在这里的第一个问题,请原谅我的任何错误

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

日期/编号

对于eample:2011-06-01/0001, 2011-06-01/0002 , . . . 2011-06-02/0001 , 2011-06-02/0002

        ...and so on

希望我能把我的问题弄清楚,并提前感谢……。

我很确定这是不可能的。但是,您可以使用插入触发器来模拟它。我现在没有访问MySQL的权限,但希望这能让您了解如何使用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)

支持微秒的时间戳?像

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'

对不起,恐怕我误解了你的问题(这看起来不错,但它限制了您对myISAM的引擎选择,如果您想要innoDB,您必须使用触发器。无论如何,没有理由将组合日期/数值存储在一列中,您只需在select中对它们进行合并即可。