2011-05-31 31 views
3

這是我第一次在這裏這麼疑問句,請原諒我的任何錯誤.....設置AUTO_INCREMENT格式爲「日期/民」

什麼我想要做的是設置在MySQL數據庫中,以便在AUTO_INCREMENT選項它開始從特定格式計算如:

日期/數字

爲eample:2011-06-01/0001, 2011-06-01/0002, 。 。 。 2011-06-02/0001, 2011-06-02 /技術

 ...and so on 

希望我做我的問題清楚,在此先感謝.........

回答

0

我很確定這是不可能的。但是,您可以使用INSERT觸發器來模擬它。我現在無法訪問MySQL,但希望這會讓您知道如何執行此操作。如果我稍後有時間,也許我會爲您編寫示例代碼。

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) 
+0

對不起,我怕我誤解你的問題。 :( – 2011-05-31 21:22:14

+0

這看起來不錯,但是它限制了你的引擎對myISAM的選擇,如果你想要innoDB你不得不使用觸發器。沒有理由將組合的日期/數字存儲在一列中,你可以將它們連接在select中。 – piotrm 2011-05-31 21:44:50

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'