【发布时间】:2012-03-13 11:47:02
【问题描述】:
作为我们正在制作的管理应用程序的一部分,我正在尝试尽可能多地优化 PHP 和 MySQL 代码,但我有一个顾虑...
其实我们存储客户订单的数据方案如下:
year -> DATE
order_id -> INT(11)
order_line_id -> INT(11)
我们基本上所做的是每年重置 order_id 字段(出于法律责任,您可以重置您的 id 或让它们增长,尽管客户经理通常更喜欢第一个选项而不是第二个),订单行 ID 也是如此,因此每个订单的行 ID 都会为每个连续订单重置。
然而,所有这些都是手工完成的。这远非理想,我想以正确的TM 方式进行,这将自动化该过程并将重置控制权交给 MySQL。
但问题是……如何?如何告诉 MySQL 使用每个新的 order_id 自动重置 order_line_id 的 AUTO_INCREMENT 字段,并使用每个新的自动重置 order_id 的 AUTO_INCREMENT 字段年份?
【问题讨论】:
-
autoincrement 用于主键...在您的情况下,order_id 不能作为其客户端指定信息的 PK,并且与您的数据库架构的完整性无关。
标签: mysql database nested auto-increment