我看到另一篇文章解釋使用序列表來創建前綴AUTO INCREMENT ID。MySQL自動增量與前綴(YYMM),每月重置
SQL Fiddle
http://sqlfiddle.com/#!2/0ed88/1
我需要自動生成增量格式爲:每個月復位YYMM + AUTO增量值。例如,現在是2015年1月。生成的ID應爲:15011,15012,15013等。下個月2015年2月,生成的ID應爲:15021,15022,15023等。我可以使用上述方法生成前綴,但是如何每月重置AUTO INCREMENT值?數據庫是InnoDB。任何幫助,將不勝感激:)
修改後的代碼
CREATE TABLE table1_seq
(
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY
)|
CREATE TABLE Table1
(
id VARCHAR(7) NOT NULL PRIMARY KEY DEFAULT '0', name VARCHAR(30)
)|
CREATE TRIGGER tg_table1_insert
BEFORE INSERT ON table1
FOR EACH ROW
BEGIN
INSERT INTO table1_seq VALUES (NULL);
SET NEW.id = CONCAT(DATE_FORMAT(NOW(),'%y%m'), LAST_INSERT_ID());
END |
INSERT INTO Table1 (name) VALUES ('Jhon'), ('Mark')|
實際上不需要爲主鍵設置特殊編碼。只需使用自動遞增的值。如果您需要在一個月內枚舉事件,則可以在查詢時執行此操作。 –