我在 MySQL 中创建了一个模式(出于这个问题的目的)有两个表:
Projects (pid:int)
Tasks (pid:int,tid:int)
每个 Project 可以有多个 Task,每个 Task 属于一个 Project。我将项目中的 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 的东西)?
我在 Python 3 中使用 Flask 微框架和 Windows 7 上的 MySQL 5.7 进行编程。