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!