我正在 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_INCRMENT 的方法)?
我正在 Windows 7 上使用 Flask 微框架和 MySQL 5.7 使用 Python 3 进行编程。
最佳答案
在 MyIsam 上这是可能的。我自己只是根据文档进行了尝试。只需满足您的需求即可。
http://dev.mysql.com/doc/refman/5.7/en/example-auto-increment.html
关于python - MySQL自增两部分主键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19482712/