我有解決方案,我需要的是ID在一個表開始,每月從1我想用一個月的名字作爲ID自動incerement在一起的主鍵。我錯了嗎?有人有任何想法嗎?自動遞增1每個月開始在MySQL和PHP
1
A
回答
2
例如用MyISAM表:
CREATE TABLE table1(
yearmonth_id INT(11) NOT NULL, -- combination of year and month
id INT(11) NOT NULL AUTO_INCREMENT,
PRIMARY KEY (yearmonth_id, id)
)
ENGINE = MYISAM;
INSERT INTO table1 VALUES(201110, NULL);
INSERT INTO table1 VALUES(201110, NULL);
INSERT INTO table1 VALUES(201110, NULL);
INSERT INTO table1 VALUES(201112, NULL);
INSERT INTO table1 VALUES(201112, NULL);
INSERT INTO table1 VALUES(201112, NULL);
INSERT INTO table1 VALUES(201201, NULL);
INSERT INTO table1 VALUES(201201, NULL);
INSERT INTO table1 VALUES(201201, NULL);
SELECT * FROM table1;
+--------------+----+
| yearmonth_id | id |
+--------------+----+
| 201110 | 1 |
| 201110 | 2 |
| 201110 | 3 |
| 201112 | 1 |
| 201112 | 2 |
| 201112 | 3 |
| 201201 | 1 |
| 201201 | 2 |
| 201201 | 3 |
+--------------+----+
1
我錯了呢?
沒錯。
從注:註釋應該是一個答案。這裏引用它:
爲什麼每個人都希望與AUTO_INCREMENT篡改創造自己的觸發和執行邏輯的方式,而不是..只是不與主鍵亂動,這是從多個角度是一個壞主意。創建一個觸發器在其他列中增加數字,並讓主鍵執行其操作。
每一位新手網絡程序員都應該把它刻在他們的桌子上,每天三次朗讀。
0
與主鍵的事情是,他們需要簡單,一般。大多數系統使用數字的原因是因爲在代碼中,只需傳遞數字即可表示數據,而不必要求所有數據(如果不需要)。
你可以有一列是一個月一年的字符串,另一個是數字自動遞增一個多列主鍵,然後自動增量將自動重新使用號碼月份發生變化時。這具有與表格定義直接相關的優點,這使得移動系統更容易。
相關問題
- 1. 自動遞增不從1開始
- 2. mySQL在初始記錄後開始自動遞增
- 3. Mysql自動增量增加2和1?
- 4. MySQL:多個主鍵和自動遞增
- 5. 自動增量每月自動導軌
- 6. mysql更改列ID從1開始,並從那裏自動遞增
- 7. MySQL自動增量從4開始
- 8. 自動遞增在MySQL
- 9. 如何讓MySQL自動從上一行開始遞增
- 10. MySQL:自動增量減1?
- 11. 錯誤而遞增日期1個月
- 12. MySQL自動遞增不遞增
- 13. MySQL自動增量每條記錄增加超過+1
- 14. 自定義自動遞增「ID」使用PHP和MySQL
- 15. 自動增加開始於
- 16. 添加一個自動遞增領域到MySQL在PHP
- 17. 添加+1與PHP最後一個入口/ MySQL的(自動遞增)
- 18. 如何在MySQL中將我的自動增量值設置爲從1開始?
- 19. Heroku MySQL自動遞增
- 20. 對於每個請求編號,將v_id分配給每個憑證,編號從1開始,然後遞增1
- 21. 每個重複都會自動遞增的mySQL列?
- 22. MySQL的 - 自動遞增(如何通過5自動遞增)
- 23. MySQL自動增量與前綴(YYMM),每月重置
- 24. 每個月在PAS開始結束12個月內
- 25. 增加Mysql自動遞增值
- 26. 使用php自動遞增每個列表輸出的ID
- 27. PHP類自動遞增
- 28. 如何使用INSERT ... SELECT以特定的列自動遞增,從1開始?
- 29. 開始和月底12個月(一年)
- 30. 日期增加1個月
您可以與MySQL的cron作業嘗試。 –
明年要做什麼?將會有相同的月份。試着僅僅處理自動提取。 – Devart
明年可能會做同樣的事情,與月 – mdakic