PostgreSQL automatische verhoging uitvoeren

Postgresql Automatische Verhoging Uitvoeren



Eén manier om de unieke identiteiten in uw PostgreSQL-database te garanderen, is het gebruik van de functie voor automatisch verhogen. Indien ingeschakeld, genereert deze functie een unieke identiteit voor elke nieuwe invoer in uw tabel. Als u bij automatisch verhogen een nieuwe waarde met dezelfde unieke identificatie probeert in te voegen, zal er een fout optreden. De automatische verhoging kan in verschillende gevallen worden gebruikt en u kunt definiëren hoe u wilt dat de unieke identificatie wordt gegenereerd. Meer details over de automatische verhoging van PostgreSQL vindt u in dit bericht. Lees verder!

Twee methoden voor automatische verhoging van PostgreSQL

Wanneer u een database maakt, moet u voor elke tabel een primaire sleutel hebben om ervoor te zorgen dat er geen duplicaten in de tabellen verschijnen. Eén manier om de primaire sleutels te maken is het gebruik van de functie voor automatisch verhogen voor het gegevenstype INT. PostgreSQL genereert de primaire sleutelwaarde voor alle vermeldingen, waardoor de ontwikkelaar geen gedoe hoeft te hebben met het handmatig typen van de primaire sleutel.

Er zijn twee benaderingen die u kunt gebruiken om automatische verhoging in uw PostgreSQL-database te creëren.







Methode 1: Het SERIËLE pseudotype gebruiken

De standaardmanier voor het automatisch verhogen van primaire sleutels in uw database is het gebruik van het SERIEL-trefwoord. Bij gebruik creëert het SERIAL-pseudotype een reeks om de waarden te genereren. Het noteert de volgende waarde in de reeks, en telkens wanneer u een nieuwe waarde invoert, wordt deze een unieke identiteit toegewezen.



Houd er rekening mee dat deze automatische verhoging wordt toegewezen aan een INT-gegevenstype en wordt verwijderd zodra de tabel of kolom wordt verwijderd.



Hier is de syntaxis voor het maken van een automatische verhoging:





CREËREN TAFEL TAFEL NAAM ( id SERIEEL gegevenstype ) ;

Laten we voor ons geval een tabel maken met de naam “details” die de “user_id” bevat als onze automatische verhoging en primaire sleutel. We nemen ook nog twee andere kolommen op.



Wanneer we de waarden in onze tabel willen invoegen, voegen we alleen voor de andere kolommen in en laten we de kolom voor automatisch verhogen weg, omdat de waarden automatisch worden gegenereerd. Hier is een voorbeeld waarin we vijf vermeldingen aan onze tabel toevoegen:

Wanneer we de SELECT-instructie gebruiken om de tabelrecords te controleren, merk dan op dat de kolom “user_id” unieke identiteiten bevat die, in ons geval, getallen zijn die beginnen bij 1. Zo voer je de automatische verhoging van PostgreSQL uit met behulp van het SERIAL pseudo-type.

Methode 2: Een reeks creëren

Wanneer u het pseudo-type SERIAL gebruikt om de waarden voor automatisch verhogen te creëren, heeft u geen controle over hoe uw unieke identiteiten worden gecreëerd. In het vorige voorbeeld hebben we gezien dat onze unieke identiteiten beginnen vanaf 1. Als u echter controle wilt hebben over deze waarden, bijvoorbeeld als u wilt definiëren vanaf welk punt u ze wilt gaan genereren, moet u een aangepaste reeks maken.

PostgreSQL heeft de SEQUENCE-optie waarmee u de kolomnaam kunt opgeven die u wilt gebruiken voor de automatische verhoging en de startwaarde voor de kolom kunt definiëren. Als we de waarden bijvoorbeeld vanaf 100 willen laten beginnen, maken we de volgende aangepaste reeks:

CREËER SEQUENTIE kolomnaam startwaarde;

Nadat u de reeks hebt gemaakt, kunt u nu uw tabel maken. Houd er rekening mee dat u dezelfde kolomnaam moet gebruiken waarvoor u een reeks hebt gemaakt, zoals de “nextval(‘holder’)” voor de gemaakte tabel. Op die manier verwijst PostgreSQL naar de reeks om te weten welke volgorde moet worden gevolgd bij het genereren van de unieke identiteit voor de kolommen.

We voeren de volgende opdracht uit om onze tabel te maken:

Ga verder met het invoegen van de waarden in de gemaakte tabel voor de relevante kolommen.

Wanneer we de “select” -query uitvoeren om de tabelitems weer te geven, kunnen we zien dat we erin zijn geslaagd onze automatische verhoging te controleren. De kolom “user_id” begint zijn waarde op 100 en genereert de daaropvolgende waarden voor de andere items die we in de tabel invoegen.

Dat is de andere manier om de automatische verhoging voor PostgreSQL te creëren.

Conclusie

Het maken van een automatische verhoging is nuttig voor het creëren van uniciteit in uw tabel. Als u een primaire sleutel voor uw tabel wilt definiëren, gebruikt u de functie voor automatisch verhogen voor het gegevenstype INT. PostgreSQL genereert de waarden automatisch en zorgt ervoor dat er geen duplicaten in uw tabel voorkomen. We hebben gedefinieerd hoe u de automatische verhoging voor PostgreSQL kunt maken en hebben twee voorbeelden gegeven van de twee methoden die u kunt gebruiken. Beide methoden zijn toepasbaar, afhankelijk van het scenario dat u heeft. Probeer ze uit!