SQL Server-eindeutiger zusammengesetzter Schlüssel aus zwei Feldern mit automatischer Inkrementierung des zweiten Felds
Ich habe folgendes Problem, das ich haben möchteZusammengesetzter Primärschlüssel mögen:
PRIMARY KEY (`base`, `id`);
wofür wenn ich einebase
Die ID, die basierend auf der vorherigen automatisch inkrementiert werden sollid
für das Selbebase
Beispiel:
base id
A 1
A 2
B 1
C 1
Gibt es einen Weg, wenn ich sage:INSERT INTO table(base) VALUES ('A')
um einen neuen Datensatz mit einzufügenid
3 denn das ist die nächste id fürbase
'EIN'?
Die resultierende Tabelle sollte sein:
base id
A 1
A 2
B 1
C 1
A 3
Ist es möglich, es auf der DB genau zu machen, da es, wenn es programmgesteuert gemacht wird, zu Rennbedingungen führen kann.
BEARBEITEN
Dasbase
Derzeit vertritt ein Unternehmen dieid
stellt die Rechnungsnummer dar. Es sollte automatisch inkrementierende Rechnungsnummern für jede Firma geben, aber es kann Fälle geben, in denen zwei Firmen Rechnungen mit derselben Nummer haben. Benutzer, die bei einem Unternehmen angemeldet sind, sollten in der Lage sein, nach diesen Rechnungsnummern zu sortieren, zu filtern und zu suchen.