Hur man gör PostgreSQL Auto Increment

Hur Man Gor Postgresql Auto Increment



Ett sätt att säkerställa de unika identiteterna i din PostgreSQL-databas är att använda funktionen för automatisk ökning. När den är aktiverad genererar den här funktionen en unik identitet för varje ny post i din tabell. Med auto-inkrement, om du försöker infoga ett nytt värde med samma unika identifierare, kommer det att uppstå ett fel. Den automatiska ökningen kan användas i olika instanser och du kan definiera hur du vill att den unika identifieraren ska genereras. Mer information om PostgreSQL auto-inkrement beskrivs i det här inlägget. Läs vidare!

Två metoder för PostgreSQL Auto Increment

När du skapar en databas bör du ha en primärnyckel för varje tabell för att säkerställa att inga dubbletter visas i tabellerna. Ett sätt att skapa primärnycklarna är att använda den automatiska ökningsfunktionen för INT-datatypen. PostgreSQL genererar det primära nyckelvärdet för alla poster, vilket befriar utvecklaren från besväret med att manuellt skriva in den primära.

Det finns två metoder som du kan använda för att skapa automatisk inkrement i din PostgreSQL-databas.







Metod 1: Använda SERIAL Pseudo-Type

Standardsättet för att skapa auto-inkrement för primärnycklar i din databas är att använda nyckelordet SERIEL. När den används skapar pseudotypen SERIAL en sekvens för att generera värdena. Den noterar nästa värde i sekvensen, och varje gång du infogar ett nytt värde tilldelas det en unik identitet.



Observera att denna automatiska ökning tilldelas en INT-datatyp och tas bort när tabellen eller kolumnen släpps.



Här är syntaxen för att skapa en automatisk ökning:





SKAPA TABELL TABLE_NAME ( id SERIAL data_type ) ;

För vårt fall, låt oss skapa en tabell med namnet 'detaljer' som innehåller 'user_id' som vår automatiska ökning och primärnyckel. Vi inkluderar även två andra kolumner.



När vi vill infoga värdena i vår tabell, infogar vi bara för de andra kolumnerna och utelämnar kolumnen för automatisk ökning eftersom dess värden genereras automatiskt. Här är ett exempel där vi lägger till fem poster i vår tabell:

När vi använder SELECT-satsen för att kontrollera tabellposterna, lägg märke till att kolumnen 'user_id' innehåller unika identiteter som i vårt fall är siffror som börjar från 1. Det är så man gör PostgreSQL auto-inkrement med pseudotypen SERIAL.

Metod 2: Skapa en sekvens

När du använder SERIAL-pseudotypen för att skapa de automatiska ökningsvärdena, kontrollerar du inte hur dina unika identiteter skapas. För det tidigare exemplet har vi sett att våra unika identiteter börjar från 1. Men om du vill kontrollera dessa värden, låt oss säga att du vill definiera när du ska börja generera dem, måste du skapa en anpassad sekvens.

PostgreSQL har alternativet SEQUENCE där du kan ange kolumnnamnet som ska användas för den automatiska ökningen och definiera startvärdet för kolumnen. Om vi ​​till exempel vill börja värdena från 100 skapar vi följande anpassade sekvens:

CREATE SEQUENCE kolumnnamn startvärde;

Efter att ha skapat sekvensen kan du nu skapa din tabell. Observera att du måste använda samma kolumnnamn där du skapade en sekvens för som 'nextval('holder')' för den skapade tabellen. På så sätt refererar PostgreSQL till sekvensen för att veta vilken ordning som ska följas när den unika identiteten för kolumnerna genereras.

Vi kör följande kommando för att skapa vår tabell:

Fortsätt för att infoga värdena i den skapade tabellen för de relevanta kolumnerna.

När vi kör 'select'-frågan för att lista tabellposterna kan vi se att vi lyckades kontrollera vår automatiska ökning. Kolumnen 'user_id' börjar sitt värde på 100 och genererar de efterföljande värdena för de andra poster som vi infogar i tabellen.

Det är det andra sättet att skapa den automatiska ökningen för PostgreSQL.

Slutsats

Att skapa en automatisk ökning är fördelaktigt för att skapa unikhet i din tabell. När du vill definiera en primärnyckel för din tabell, använd den automatiska ökningsfunktionen för INT-datatypen. PostgreSQL genererar värdena automatiskt och säkerställer att inga dubbletter finns i din tabell. Vi definierade hur man skapar den automatiska ökningen för PostgreSQL och gav två exempel på de två metoderna som du kan använda. Båda metoderna är tillämpliga beroende på vilket scenario du har. Prova dem!