PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Benutzerdefinierte SERIAL / Autoinkrement pro Wertegruppe

Dies wurde oft gefragt und die allgemeine Idee wird in einer Umgebung mit mehreren Benutzern zwangsläufig scheitern - und ein Blogsystem klingt nach genau so einem Fall.

Die beste Antwort ist also:Nicht. Ziehen Sie einen anderen Ansatz in Betracht.

Löschen Sie die Spalte category_id vollständig aus Ihrer Tabelle - es speichert keine Informationen die anderen beiden Spalten (id, category) würde nicht schon speichern.

Ihre id ist eine serial Spalte und erhöht sich bereits zuverlässig automatisch.

  • SQL-Funktion automatisch inkrementieren

Wenn Sie brauchen eine Art category_id ohne Lücken pro category , generieren Sie es on the fly mit row_number() :

  • Seriennummern pro Zeilengruppe für zusammengesetzten Schlüssel