sql >> Database teknologi >  >> RDS >> PostgreSQL

Hvorfor går Postgres-sekvenselementet op, selvom oprettelsen af ​​objekter mislykkes?

Ja, det er den forventede adfærd. Se dokumenter :

Bemærk, at nextval er normalt indstillet som en standardværdi for en autoincrement/seriel kolonne.

Prøv også at forestille dig, hvor svært og ineffektivt det ville være, hvis nextval skulle rulle tilbage. Grundlæggende ville du skulle låse hver klient på nextval indtil hele transaktionen (den der har erhvervet låsen) er behandlet. Glem i så fald alt om samtidige indsættelser.

Som hvad? Problemet i dit tilfælde var, at nogen manuelt specificerede en værdi for en autoincrement-kolonne. Det bør du aldrig gøre, medmindre du er en samurai. :)




  1. Woocommerce får produkt-id ved hjælp af produkt-SKU

  2. Brug af CASE i WHERE-sætningen, når parameteren har flere værdier

  3. Codeigniter :Fejl i ORDER BY CASE-forespørgsel

  4. Hvordan tæller man antallet af elementer i alle Oracle varrays fra tabellen?