2010-11-20 45 views
0

我創建一個包含Web應用程序4個重要的ID是否可以爲mysql中的自動增量設置起點和最大值?

,並加快識別其中的自動遞增的id是什麼

我希望能設置在autp遞增數量的限制。

例如:

訂單ID =千萬所以會產生若干10米之間 - 19999999

palletid = 2000000020米 - 29999999

的productid = 3000000030米 - 39999999

並且當這些ID的達到極限時,他們是否會開始重複使用現有的舊號碼?

+0

請仔細閱讀播種 – CarneyCode 2010-11-20 13:35:59

回答

1

這不是自動增量列的工作方式。

當然你可以設置起點,但最大值和關於重複使用舊數字的部分,對不起,沒有內置到系統中。

爲什麼你需要那個?

一般的共識是,如果你使用自動增量列,你並不真正關心值本身。當然,你關心它是獨一無二的,但你不在乎什麼是實際的價值。

因此,既然你在乎,你爲什麼在乎呢?爲什麼你需要它重用舊數字?

你說你想用它來識別系統中的各個項目。你的意思是,對於用戶?爲什麼不使用前綴?訂單的O123,客戶的C123,產品的P123等。

+0

我曾考慮過使用前綴的,但我希望通過讓sql來處理它來簡化這個。 – 2010-11-20 13:42:09

+0

系統中有更多的id,但這3個將用於識別托盤的訂單和產品。 – 2010-11-20 13:43:32

0

沒有,但嘗試這樣的事:

INSERT INTO table VALUES(id) 
(
Case when 
(
    SELECT id FROM table 
    LIMIT COUNT(SELECT * FROM table)-1, 1) >= maximumhere 
) 
then minimumhere 
else MAX(SELECT id FROM table)+1 
) 

這僅僅是理論上的,當然,玩與它...

相關問題