设置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)
答
微秒支持时间戳创建一个表?像
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'
对不起,我怕我误解你的问题。 :( – 2011-05-31 21:22:14
这看起来不错,但是它限制了你的引擎对myISAM的选择,如果你想要innoDB你不得不使用触发器。没有理由将组合的日期/数字存储在一列中,你可以将它们连接在select中。 – piotrm 2011-05-31 21:44:50