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:
(
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:
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):
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:
(
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):
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:
(
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):
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:
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):
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