PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Niestandardowy SERIAL / autoinkrementacja na grupę wartości

Pytano o to wiele razy, a ogólny pomysł skazuje się na niepowodzenie w środowisku wielu użytkowników - a system blogów brzmi dokładnie w takim przypadku.

Więc najlepszą odpowiedzią jest:Nie. Rozważ inne podejście.

Upuść kolumnę category_id całkowicie z Twojej tabeli - nie przechowuje żadnych informacji pozostałe dwie kolumny (id, category) już by nie przechowywał.

Twój id jest serial kolumna i już automatycznie się zwiększa w niezawodny sposób.

  • Automatyczna inkrementacja funkcji SQL

Jeśli potrzebujesz jakiś rodzaj category_id bez przerw na category , wygeneruj go w locie za pomocą row_number() :

  • Numery seryjne na grupę wierszy dla klucza złożonego


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Najlepsze rozwiązania DBaaS dla PostgreSQL

  2. Zapobiegaj wyzwalaniu rekurencyjnemu w PostgreSQL

  3. Jak sprawdzić, czy w danym schemacie istnieje tabela?

  4. Jak przenieść bazę danych PostgreSQL do bazy SQLServer?

  5. Najlepszy sposób na liczenie rekordów w dowolnych odstępach czasu w Rails+Postgres