我在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中进行编程。
答案 0 :(得分:0)
在MyIsam上它可能。我刚从文档中尝试过。只是满足您的需求。
http://dev.mysql.com/doc/refman/5.7/en/example-auto-increment.html