SQL AUTO INCREMENTFelder


Auto-Inkrement erzeugt eine eindeutige Nummer, wenn ein neuer Datensatz in eine Tabelle eingefügt wird.


AUTO INCREMENT Feld

Normalerweise möchten wir den Wert des Primärschlüsselfelds automatisch erzeugen, wann immer ein neuer Datensatz eingefügt wird.

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


Syntax für MySQL

Die folgende SQL-Anweisung definiert die Spalte "ID" in der Tabelle "Persons" als ein Auto-Increment-Primärschlüsselfeld:

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

MySQL verwendet das Schlüsselwort AUTO_INCREMENT, um die automatische Inkrementierung durchzuführen.

Standardmäßig ist der Startwert für AUTO_INCREMENT 1, und er erhöht sich um 1 für jeden neuen Datensatz.

Um die AUTO_INCREMENT-Sequenz mit einem anderen Wert beginnen zu lassen, verwenden Sie die folgende SQL-Syntax:

ALTER TABLE Persons AUTO_INCREMENT=100

Um einen neuen Datensatz in die Tabelle "Persons" einzufügen, müssen wir keinen Wert für die Spalte "ID" angeben (ein eindeutiger Wert wird automatisch hinzugefügt):

INSERT INTO Persons (FirstName,LastName)
VALUES ('Lars','Monsen')

Die obige SQL-Anweisung fügt einen neuen Datensatz in die Tabelle "Persons" ein. Der Spalte "ID" wird ein eindeutiger Wert zugewiesen. Die Spalte "FirstName" wird auf "Lars" gesetzt, und die Spalte "LastName" wird auf "Monsen" gesetzt.


Syntax für SQL Server

Die folgende SQL-Anweisung definiert die Spalte "ID" in der Tabelle "Persons" als ein Auto-Increment-Primärschlüsselfeld:

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

MS SQL Server verwendet das Schlüsselwort IDENTITY für die automatische Inkrementierung.

Im obigen Beispiel ist der Startwert für IDENTITY 1, und er wird für jeden neuen Datensatz um 1 erhöht.

Tipp:Um anzugeben, dass die Spalte "ID" bei 10 beginnt und um 5 erhöht wird, ändern Sie identity in IDENTITY(10,5).

Um einen neuen Datensatz in die Tabelle "Persons" einzufügen, müssen wir keinen Wert für die Spalte "ID" angeben (ein eindeutiger Wert wird automatisch hinzugefügt):

INSERT INTO Persons (FirstName,LastName)
VALUES ('Lars','Monsen')

Die obige SQL-Anweisung fügt einen neuen Datensatz in die Tabelle "Persons" ein. Der Spalte "ID" wird ein eindeutiger Wert zugewiesen. Die Spalte "FirstName" wird auf "Lars" gesetzt, und die Spalte "LastName" wird auf "Monsen" gesetzt.


Syntax für Access

Die folgende SQL-Anweisung definiert die Spalte "ID" in der Tabelle "Persons" als ein Auto-Increment-Primärschlüsselfeld:

CREATE TABLE Persons
(
ID Integer 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 die automatische Inkrementierung durchzuführen.

Standardmäßig ist der Startwert für AUTOINCREMENT 1, und er erhöht sich für jeden neuen Datensatz um 1.

Tipp:Um anzugeben, dass die Spalte "ID" bei 10 beginnt und um 5 erhöht wird, ändern Sie autoincrement in AUTOINCREMENT(10,5).

Um einen neuen Datensatz in die Tabelle "Persons" einzufügen, müssen wir keinen Wert für die Spalte "ID" angeben (ein eindeutiger Wert wird automatisch hinzugefügt):

INSERT INTO Persons (FirstName,LastName)
VALUES ('Lars','Monsen')

Die obige SQL-Anweisung fügt einen neuen Datensatz in die Tabelle "Persons" ein. Der Spalte "ID" wird ein eindeutiger Wert zugewiesen. Die Spalte "FirstName" wird auf "Lars" gesetzt, und die Spalte "LastName" wird auf "Monsen" gesetzt.


Syntax für Oracle

In Oracle ist der Code etwas komplexer.

Sie müssen das Auto-Inkrement-Feld mithilfe eines Sequenzobjekts erstellen (das eine Folge von Zahlen generiert).

Verwenden Sie die folgende CREATE SEQUENCE-Syntax:

CREATE SEQUENCE seq_person
MINVALUE 1
START WITH 1
INCREMENT BY 1
CACHE 10

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

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

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

Die obige SQL-Anweisung fügt einen neuen Datensatz in die Tabelle "Persons" ein. Der Spalte "ID" wird die nächste Nummer aus der Sequenz seq_person zugewiesen. Die Spalte "FirstName" wird auf "Lars" gesetzt und die Spalte "LastName" wird auf "Monsen" gesetzt.


Andere Erweiterungen