So richten Sie Postgresql Auto-Increment-Primärschlüssel ein?

So richten Sie Postgresql Auto-Increment-Primärschlüssel ein?
Es können Fälle geben, in denen Sie Tabellen in postgreSQL erstellen und verwalten, wenn Sie bestimmte Werte für eine Spalte möchten, die auf Anfrage generiert wird. Dies gilt insbesondere für Spalten „ID“, die als Hauptschlüssel der Tabelle fungieren. Zum Glück ermöglicht das serielle Pseudo-Typ eine automatische Inkrementierung integer-Serie bequem. Eine Serie ist eine Art von Datenbankobjekt in PostgreSQL, die eine Reihe von Indizes oder Ganzzahlen erzeugt. Eine PostgreSQL -Sequenz erzeugt eine Reihe verschiedener Ganzzahlen, so. Wir werden Ihnen demonstrieren, welche automatischen Inkremente in PostgreSQL untergehen, und wir werden den seriellen Pseudo-Typ in diesem Leitfaden verwenden.

Syntax:

Die allgemeine Syntax zum Erstellen des Primärschlüssels für automatische Inkremente lautet wie folgt:

>> TABLE CREATE TABLE_NAME (ID Serial);

Lassen Sie uns nun genauer auf die Erstellung von Tabellenerklärung schauen:

  • Postgresql generiert zuerst eine Serienentität. Es erzeugt den nächsten Wert in der Serie und setzt ihn als Standard -Referenzwert des Feldes fest.
  • PostgreSQL wendet die implizite Einschränkung nicht auf ein ID -Feld an, da eine Serie numerische Werte erzeugt.
  • Das ID -Feld wird als Inhaber der Serie zugewiesen. Wenn das ID -Feld oder die Tabelle selbst weggelassen wird, wird die Sequenz verworfen.

Um das Konzept der automatischen Inkremente zu erhalten, stellen Sie sicher. Öffnen Sie die PostgreSQL-Befehlszeilenschale vom Desktop. Fügen Sie Ihren Servernamen hinzu, an dem Sie arbeiten möchten, und haben Sie ihn ansonsten standardmäßig überlassen. Schreiben Sie den Datenbanknamen, der in Ihrem Server liegt, auf dem Sie arbeiten möchten. Wenn Sie es nicht ändern möchten, haben Sie es als Standard gelassen. Wir werden die Datenbank "Test" verwenden, deshalb haben wir sie hinzugefügt. Sie können auch am Standardport 5432 arbeiten, aber Sie können es auch ändern. Am Ende müssen Sie den Benutzernamen für die von Ihnen ausgewählte Datenbank angeben. Lassen Sie es standardmäßig, wenn Sie es nicht ändern möchten. Geben Sie Ihr Passwort für den ausgewählten Benutzernamen ein und klicken Sie von der Tastatur "Eingeben", um mit der Befehlsschale zu beginnen.

Verwenden des seriellen Schlüsselworts als Datentyp:

Wenn wir eine Tabelle erstellen, fügen wir normalerweise nicht das Keyword -Serie im Feld Primärspalten hinzu. Dies bedeutet, dass wir die Werte zur Spalte der Primärschlüssel hinzufügen müssen. Wenn wir beim Erstellen einer Tabelle jedoch die Keyword -Serie in unserer Abfrage verwenden, sollten wir beim Einfügen der Werte keine primären Spaltenwerte hinzufügen müssen. Werfen wir einen Blick darauf.

Beispiel 01:

Erstellen Sie eine Tabelle "Test" mit zwei Spalten "ID" und "Name". Die Spalte "ID" wurde als die Primärschlüsselspalte definiert, da ihr Datentyp seriell ist. Andererseits ist die Spalte „Name“ definiert als der Text -Null -Datentyp. Versuchen Sie den folgenden Befehl, um eine Tabelle zu erstellen, und die Tabelle wird effizient erstellt, wie im Bild unten angezeigt.

>> Tabellen -Test erstellen (id serielle Primärschlüssel, Name Text nicht null);

Fügen Sie einige Werte in die Spalte "Name" der neu erstellten Tabelle "Test" ein. Wir werden der Spalte "ID" keinen Wert hinzufügen. Sie können sehen, dass die Werte erfolgreich mit dem Befehl Einfügen eingefügt wurden, wie unten angegeben.

>> In test (Namen) Werte einfügen ('aqsa'), ('rimsha'), ('khan');

Es ist Zeit, die Aufzeichnungen des Tabelle 'Test' zu überprüfen. Probieren Sie die folgende Anweisung in der Befehlsschale aus.

>> aus dem test auswählen;

In der folgenden Ausgabe können Sie feststellen, dass die Spalte „ID“ automatisch einige Werte enthält, obwohl wir aufgrund der Datentyp -Serie, die wir für die Spalte „ID“ angegeben haben, keine Werte aus dem Befehl dataType hinzugefügt haben. So funktioniert die Datentyp -Serie für sich.

Beispiel 02:

Eine andere Möglichkeit, den Wert der seriellen Datentypspalte zu überprüfen, besteht. Die folgende Erklärung erstellt eine neue Zeile in der Tabelle "Test" und ergibt den Wert für das Feld "ID":

>> In test (Namen) Werte ('Hassam') zurückgeben

Durch Überprüfen der Datensätze der Tabelle „Test“ mit der Abfrage auswählen, haben wir die folgende Ausgabe im Bild angezeigt. Der fünfte Datensatz wurde der Tabelle effizient hinzugefügt.

>> aus dem test auswählen;

Beispiel 03:

Die alternative Version der obigen Einfügungsabfrage verwendet das Standard -Schlüsselwort. Wir werden im Befehl Einfügen den Spaltennamen „ID“ verwenden und im Abschnitt Werte geben ihm das Standard -Schlüsselwort als Wert an. Die folgende Abfrage funktioniert bei der Ausführung gleich.

>> in Test (ID, Name) Werte einfügen (Standard, 'Raza');

Überprüfen Sie die Tabelle erneut mit der folgenden Abfrage aus:

>> aus dem test auswählen;

Sie können aus der folgenden Ausgabe sehen, der neue Wert wurde hinzugefügt, während die Spalte „ID“ standardmäßig erhöht wurde.

Beispiel 04:

Die Sequenznummer des seriellen Spaltenfelds finden Sie in einer Tabelle in PostgreSQL. Die Methode pg_get_serial_sequence () wird verwendet, um dies zu erreichen. Wir müssen die Funktion currval () zusammen mit der Methode pg_get_serial_sequence () verwenden. In dieser Abfrage geben wir den Tabellennamen und seinen seriellen Spaltennamen in den Parametern der Funktion pg_get_serial_sequence () an. Wie Sie sehen können, haben wir die Tabelle "Test" und Spalte "ID" angegeben. Diese Methode wird im folgenden Abfragebeispiel verwendet:

>> Wählen Sie Currval (pg_get_serial_sequence ('test', 'id');

Es ist erwähnenswert, dass unsere Funktion currval () uns hilft, den jüngsten Wert der Sequenz zu extrahieren, der „5“ ist. Das folgende Bild ist eine Illustration dafür, wie die Aufführung aussehen könnte.

Abschluss:

In diesem Leitfaden-Tutorial haben wir demonstriert. Mit einer Serie in Postgresql ist es einfach, eine automatische Inkrementierung von Zahlen zu erstellen. Hoffentlich können Sie das serielle Feld mit unseren Abbildungen als Referenz auf die Tabellenbeschreibungen anwenden.