Ich möchte ein kleines Ticket-System für einen Projektserver erstellen, der mehrere Projekte hat. Bisher ist die TicketID wird weltweit gezählt werden, dh es gibt ein Projekt A und ein Ticket mit TicketID 1 und ein weiteres Projekt B und das Ticket für dieses Projekt erhalten TicketID 2 - wie folgt aus:Eine ID mit auto_increment abhängig von einer anderen ID erstellen - möglich?
(TicketID, ProjectID)
(1, 1)
(2, 1)
(3, 1)
(4, 2)
(5, 2)
(6, 3)
Aber ich denke, es wäre besser, die TicketID auf dem ProjectID abhängig zu zählen, wie:
(TicketID, ProjectID)
(1, 1)
(2, 1)
(3, 1)
(1, 2)
(2, 2)
(1, 3)
Hier ist die Tabelle:
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),
...
);
Ist es möglich, das zu machen, TicketID mit auto_increment abhängig von der ProjectID mit SQL? Oder gibt es keine Möglichkeit mit SQL und ich muss die IDs mit meinem PHP-Code manuell setzen?
+1 Das ist der saubere Ansatz. Um die ursprüngliche Frage zu beantworten: Nein, es gibt keine Möglichkeit, ein abhängiges automatisch erhöhendes Feld zu erstellen. :-) Zumindest nicht für MySql oder SQL Server, und ich kann mir schwer vorstellen, dass dies irgendwo anders implementiert ist. – Tomalak