python - MySQL自增两部分主键

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

我正在 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/

相关文章:

python - 如何列出 Flask 静态子目录中的所有图像文件?

python - 如何使用 django-ajax-lated-fields 将 self 引用为模型

mysql - InnoDb 比 MyISAM 更适合频繁的并发更新和插入,我这样说对吗?

python - 猜号游戏优化(用户创号,电脑猜号)

python - 我应该使用什么来代替 .__getslice__?

python - Mac 上应该有多少个不同的 macOS 系统默认版本的 Python?

python - 使用 uWSGI 和 Cherokee 部署 Pyramid 应用程序

python - 如何在现有图中绘制 seaborn pairplot

mysql - 使用 RegEx 查找包含超过 N 个分号的行

MySQL查询计算平均价格直到股票值(value)达到0