Erläuterung zu SQL AUTO INCREMENT-Feldern

jacklove
Freigeben: 2023-03-25 16:08:02
Original
1485 Leute haben es durchsucht

Auto-Inkrementierung generiert eine eindeutige Nummer, wenn ein neuer Datensatz in die Tabelle eingefügt wird. In diesem Artikel wird dies ausführlich erläutert.

AUTO INCREMENT-Feld

Normalerweise möchten wir den Wert des Primärschlüsselfelds jedes Mal automatisch erstellen, wenn ein neuer Datensatz eingefügt wird.

Wir können ein Auto-Inkrement-Feld in der Tabelle erstellen.

Syntax für MySQL

Die folgende SQL-Anweisung definiert die Spalte „P_Id“ in der Tabelle „Personen“ als automatisch inkrementierenden Primärschlüssel:

CREATE TABLE Persons
(P_Id int NOT NULL AUTO_INCREMENT,LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),PRIMARY KEY (P_Id))

MySQL verwendet das Schlüsselwort AUTO_INCREMENT, um automatische Inkrementierungsaufgaben auszuführen.

Standardmäßig beginnt AUTO_INCREMENT bei 1 und erhöht sich für jeden neuen Datensatz um 1.

Damit die AUTO_INCREMENT-Sequenz mit einem anderen Wert beginnt, verwenden Sie die folgende SQL-Syntax:

ALTER TABLE Persons AUTO_INCREMENT=100

Um in der Spalte „Personen“ zu sein " Tabelle Um einen neuen Datensatz einzufügen, müssen wir keinen Wert für die Spalte „P_Id“ angeben (ein eindeutiger Wert wird automatisch hinzugefügt):

INSERT INTO Persons (FirstName,LastName)
VALUES ('Bill','Gates' )

Die obige SQL-Anweisung fügt einen neuen Datensatz in die Tabelle „Personen“ ein. „P_Id“ wird ein eindeutiger Wert zugewiesen. Die Spalte „Vorname“ wird auf „Bill“ und die Spalte „Nachname“ auf „Gates“ gesetzt.

Syntax für SQL Server

Die folgende SQL-Anweisung definiert die Spalte „P_Id“ in der Tabelle „Persons“ als automatisch inkrementierenden Primärschlüssel:

CREATE TABLE Persons
(P_Id int PRIMARY KEY IDENTITY,LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255)
)

MS SQL verwendet das Schlüsselwort IDENTITY, um automatische Inkrementierungsaufgaben auszuführen.

Standardmäßig beginnt IDENTITY bei 1 und erhöht sich für jeden neuen Datensatz um 1.

Um festzulegen, dass die Spalte „P_Id“ mit 20 beginnt und um 10 erhöht wird, ändern Sie bitte die Identität in IDENTITY(20,10)

Um einen neuen Datensatz in die Tabelle „Personen“ einzufügen, Wir müssen keinen Wert für die Spalte „P_Id“ angeben (ein eindeutiger Wert wird automatisch hinzugefügt):

INSERT INTO Persons (FirstName,LastName)
VALUES ('Bill','Gates ')

Die obige SQL-Anweisung fügt einen neuen Datensatz in die Tabelle „Personen“ ein. „P_Id“ wird ein eindeutiger Wert zugewiesen. Die Spalte „Vorname“ wird auf „Bill“ und die Spalte „Nachname“ auf „Gates“ gesetzt.

Syntax für den Zugriff

Die folgende SQL-Anweisung definiert die Spalte „P_Id“ in der Tabelle „Persons“ als automatisch inkrementierenden Primärschlüssel:

CREATE TABLE Persons
(P_Id int PRIMARY KEY AUTOINCREMENT,LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255)
)

MS Access verwendet das Schlüsselwort AUTOINCREMENT, um automatische Inkrementierungsaufgaben auszuführen.

Standardmäßig beginnt AUTOINCREMENT bei 1 und erhöht sich für jeden neuen Datensatz um 1.

Um anzugeben, dass die Spalte „P_Id“ mit 20 beginnt und um 10 erhöht wird, ändern Sie bitte Autoinkrement in AUTOINCREMENT(20,10)

Um einen neuen Datensatz in die Tabelle „Personen“ einzufügen, Wir müssen keinen Wert für die Spalte „P_Id“ angeben (ein eindeutiger Wert wird automatisch hinzugefügt):

INSERT INTO Persons (FirstName,LastName)
VALUES ('Bill','Gates ')

Die obige SQL-Anweisung fügt einen neuen Datensatz in die Tabelle „Personen“ ein. „P_Id“ wird ein eindeutiger Wert zugewiesen. Die Spalte „Vorname“ wird auf „Bill“ und die Spalte „Nachname“ auf „Gates“ gesetzt.

Syntax für Oracle

In Oracle ist der Code etwas komplizierter.

Sie müssen ein Auto-Inkrement-Feld über ein Sequenzpaar erstellen (das -Objekt generiert eine Zahlenfolge).

Bitte verwenden Sie die folgende CREATE SEQUENCE-Syntax:

CREATE SEQUENCE seq_person
MINWERT 1
STARTEN SIE MIT 1
ERHÖHUNG UM 1
CACHE 10

Der obige Code erstellt ein Sequenzobjekt namens seq_person, das mit 1 beginnt und um 1 erhöht wird. Dieses Objekt speichert 10 Werte zwischen, um die Leistung zu verbessern. Die CACHE-Option gibt an, wie viele Sequenzwerte gespeichert werden, um die Zugriffsgeschwindigkeit zu verbessern.

Um einen neuen Datensatz in die Tabelle „Personen“ einzufügen, müssen wir die Funktion nextval verwenden (die den nächsten Wert aus der Sequenz seq_person abruft):

INSERT INTO Persons (P_Id,FirstName,LastName)
VALUES (seq_person.nextval,'Lars','Monsen')

Die obige SQL-Anweisung fügt einen neuen Datensatz in die Tabelle „Personen“ ein. Die Zuweisung von „P_Id“ ist die nächste Nummer aus der seq_person-Sequenz. Die Spalte „Vorname“ wird auf „Bill“ und die Spalte „Nachname“ auf „Gates“ gesetzt.

Verwandte Empfehlungen:

Über Vorgänge im Zusammenhang mit SQL ALTER TABLE-Anweisungen

Über das Rückgängigmachen von Indizes, Tabellen und Datenbanken durch SQL. Relevante Kenntnisse

Verwandte Kenntnisse über SQL DEFAULT-Einschränkungen

Das obige ist der detaillierte Inhalt vonErläuterung zu SQL AUTO INCREMENT-Feldern. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage