我想为具有多个项目的项目服务器制作一个小型票务系统。到目前为止,TicketID 将被全局计算,即有一个项目 A 和一个 TicketID 为 1 的工单和另一个项目 B 并且该项目的工单将获得 TicketID 2 - 如下所示:
(TicketID, ProjectID)
(1, 1)
(2, 1)
(3, 1)
(4, 2)
(5, 2)
(6, 3)
但我认为根据 ProjectID 计算 TicketID 会更好,例如:
(TicketID, ProjectID)
(1, 1)
(2, 1)
(3, 1)
(1, 2)
(2, 2)
(1, 3)
这里的表:
CREATE TABLE IF NOT EXISTS tickets (
TicketID INT UNSIGNED NOT NULL AUTO_INCREMENT,
ProjectID INT UNSIGNED NOT NULL,
...
PRIMARY KEY (TicketID, ProjectID) ,
FOREIGN KEY (ProjectID) REFERENCES projects (ProjectId),
...
);
是否可以根据使用 SQL 的 ProjectID 使用 auto_increment 制作 TicketID?或者 SQL 没有办法,我必须用我的 PHP 代码手动设置 ID?