2016-06-01 33 views
-1

我想創建一個以JTM0605160001開頭的自動映射關鍵字(自動遞增)。這裏如何創建作爲該表的主鍵的自動序列號,它具有以下系列JTM0605160001 .....在SQL中

  • JTM:將不斷
  • 060516:日期DDMMYY格式(06天05個月的16歲
  • 0001將迭代

因此,當用戶希望輸入數據,已經有一個數字系列,所以我很容易檢查他們的數據,只是基於表格的系列號,所以你可以幫我一些教程和編碼嗎?

I我正在使用XAMP P控制面板和Dreamweaver CS6。

我想序列號這樣的:

JTM0605160001
JTM0605160002
JTM0705160003
...


這樣的形式會是這樣:

無系列:JTM0605160001 (當用戶想填寫表格時自動提供)

名稱:莎莉(用戶將填補這一形式)

年齡:34(用戶將填補這一形式)

+0

http://stackoverflow.com/help/how-to-ask – Gandhi

+0

你明白我的問題嗎? – purpleling

+0

你必須向其他人解釋你已經修好的步驟或示例代碼(如果適用) – Gandhi

回答

0

表模式:

CREATE TABLE combinedKey ( 
    id INT(4) UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT, 
    prefix VARCHAR(3) NOT NULL, 
    datePrefix VARCHAR(6) NOT NULL, 
    PRIMARY KEY (id, prefix, datePrefix), 
    age INT(3), 
    name VARCHAR(30) 
); 

因此,我們結合三列到主(請注意前導零爲ZEROFILL),您的常數前綴和日期前綴(您的格式不是默認日期格式,因此我們根據INSERT對其格式進行了設置,請參見下文),基於INSERT - 日期。

一種插件,看起來是這樣的:

INSERT INTO combinedKey (`prefix`,`datePrefix`,`age`,`name`) VALUES ('JTM',DATE_FORMAT(NOW(),'%d%m%y'),34,'Sally'); 

用的序列號輸出select語句

SELECT CONCAT(`prefix`,`datePrefix`,`id`) AS series, `name`, `age` FROM combinedKey; 
+---------------+-------+------+                                                  
| series  | name | age |                                                  
+---------------+-------+------+                                                  
| JTM0106160001 | Sally | 34 |                                                  
+---------------+-------+------+                                                  
1 row in set (0.00 sec) 

如果您需要將姓名,年齡等,你可以前的新序列號插入虛擬數據/ null,存儲插入的行/新系列號,然後UPDATE

+0

謝謝。我會試試:) – purpleling

+0

考慮一下:增量編號是否必須每天重新啓動0001? –

相關問題