2013-10-20 52 views
0

我在MySQL中創建一個模式,它(這個問題)的目的有兩個表:MySQL的自動增量兩部分組成的主鍵

Projects (pid:int) 
Tasks (pid:int,tid:int) 

每個項目都可以有很多任務,每個任務屬於一個項目。我將項目設置爲主鍵,並在項目添加時自動遞增。理想情況下,我想構建任務,以便每個任務的主鍵都是pid和tid。對於屬於同一項目的任務,tid將增加,但對於每個新項目,tid會再次從1開始。

(pid,tid) = (1,1)(1,2)(1,3)(2,1)(2,2)(3,1)(3,2)(3,3)(3,4) 

我知道我可以實現通過進行查詢,以找到一個項目最高TID和手動增加它的下一個任務這個效果;但是,如果可能的話,我想不做任何查詢。有沒有更簡單,更有效的方式來實現這個功能(例如AUTO_INCREMENT)?

我在Python 3與瓶microframework編程和在Windows 7

+0

你可以使用觸發器來創建'PID/tid'值,只要你'INSERT'一個新的任務。 – 2013-10-20 20:53:01

+0

你讀過這個嗎? http://dev.mysql.com/doc/refman/5.1/en/example-auto-increment.html似乎與myisam引擎一起工作。 –

+0

所以我會用觸發器來計算MySQL內部的tid而不是Python?我當然可以那樣做! 編輯:謝謝凱!這個鏈接就是我正在尋找的! (我想我現在應該熟悉MySQL手冊) – Maythe

回答