Hoe u een reeks in PostgreSQL kunt resetten

Hoe U Een Reeks In Postgresql Kunt Resetten



Het gebruik van de PostgreSQL-reeks is een effectieve manier om te werken met een automatisch oplopende waarde, vooral voor primaire sleutels. Als de startwaarde niet is gedefinieerd, begint de automatische verhoging voor INT bij 0. U kunt echter in uw kolom voor automatische verhoging opgeven welke startwaarde u voor de reeks wilt gebruiken.

Als u bovendien in een situatie terechtkomt waarin u de volgende waarde in de reeks moet wijzigen, kunt u de reeks snel opnieuw instellen en opgeven met welke waarde u wilt beginnen voor de volgende invoer in de tabel. Alle details die u moet weten over het opnieuw instellen van een reeks in PostgreSQL worden in dit bericht beschreven. Kijk eens!

Voorbeeld van het resetten van een reeks in PostgreSQL

Met een INT-kolom kunt u een automatisch oplopende reeks maken en deze gebruiken als de primaire sleutel voor uw tabel. Op die manier hoeft u de waarden ervan niet in te voeren bij het uitvoeren van een INSERT-query, omdat de gehele waarden automatisch worden gegenereerd. Nadat de reeks is gemaakt, kunt u met de opdracht ALTER SEQUENCE de reeks opnieuw starten en een nieuwe startwaarde voor de nieuwe invoer opgeven.







Voor dit voorbeeld zullen we werken met de volgende tabel “user_details”. Onze focus ligt op de kolom ‘user_id’, een reeks die automatisch wordt verhoogd vanaf 100.





Voer de volgende opdracht uit om de verschillende reeksen in uw database weer te geven:





\ds

In ons geval richten we ons op de reeks ‘user_id’.



Om meer details over de reeks te krijgen, voert u de “select”-query uit, zoals hieronder wordt gedemonstreerd:

SELECT * FROM reeksnaam;

We kunnen zien dat de laatste waarde in de bestaande reeks 104 is. We resetten deze waarde en definiëren een nieuwe waarde die de nieuwe vermeldingen zullen hebben.

Gebruik de volgende opdracht om de PostgreSQL-reeks opnieuw in te stellen:

ALTER SEQUENCE sequence_name HERSTART MET waarde;

Laten we voor ons geval zeggen dat we de reeks opnieuw willen starten en de nieuwe invoer op 20 willen starten. Na het uitvoeren van de volgende opdracht krijgen we een uitvoer, zoals hieronder weergegeven, die bevestigt dat de reeks is gewijzigd.

Als we het eerdere commando opnieuw uitvoeren om de details van onze reeks te verkrijgen met behulp van de SELECT-instructie, kunnen we zien dat de nieuwe “last_value” voor dit geval de waarde is die we hebben opgegeven met het ALTER-commando.

Laten we een nieuw item in onze tabel invoegen om te zien wat er gebeurt. De volgende afbeelding toont de INSERT-query en de resultaten die we krijgen na het uitvoeren van de SELECT-instructie. Merk op hoe de “user_id” van het nieuwe item is ingesteld op 20. Bij alle nieuwe items die we maken, wordt de “user_id” gegenereerd op basis van de laatste waarde die 20 is.

Als we nog een invoer maken, zal de “user_id” 21 zijn en zal de reeks doorgaan met dezelfde logica. Zo reset je een reeks in PostgreSQL. Houd er rekening mee dat de opdracht “reset” geen invloed heeft op de bestaande records. Het definieert alleen de nieuwe startwaarde voor de gegevens die u invoert nadat u de reeks opnieuw hebt ingesteld.

Conclusie

Met PostgreSQL vereenvoudigt het hebben van een manier om de gehele waarden in uw primaire sleutelkolom automatisch te genereren de zaken. Als u een bestaande reeks heeft, kunt u de ALTER SEQUENCE gebruiken
commando met de optie RESTART WITH om op te geven welke reeks u wilt resetten en welke waarde u wilt instellen als de laatste waarde in de reeks. Op die manier wordt bij nieuwe invoer de gehele waarde gegenereerd op basis van de nieuwe laatste waarde. Raadpleeg het gepresenteerde voorbeeld om te begrijpen hoe het opnieuw instellen van een PostgreSQL-reeks werkt.