MySQL自动增加两部分主键

时间:2013-10-20 20:49:42

标签: python mysql python-3.x flask mysql-5.7

我在MySQL中创建一个模式(为了这个问题的目的)有两个表:

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

每个项目可以有许多任务,每个任务属于一个项目。我将pid设置为主键,并在添加项目时自动增加。理想情况下,我想构建任务,以便每个任务的主键都是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的东西)?

我正在使用Flask微框架和Windows 7上的MySQL 5.7在Python 3中进行编程。

1 个答案:

答案 0 :(得分:0)

在MyIsam上它可能。我刚从文档中尝试过。只是满足您的需求。

http://dev.mysql.com/doc/refman/5.7/en/example-auto-increment.html