Neueste Web-Entwicklung Tutorials
 

SQL AUTOINkREMENT Feld


Auto-Zuwachs ermöglicht eine eindeutige Nummer erzeugt werden, wenn ein neuer Datensatz in eine Tabelle eingefügt wird.


AUTOINkREMENT ein Feld

Sehr oft würden wir den Wert des Primärschlüsselfeld wie automatisch ein neuer Datensatz eingefügt jedes Mal erstellt werden.

Wir möchten ein Auto-Inkrement-Feld in einer Tabelle zu erstellen.


Syntax für MySQL

Die folgende SQL - Anweisung definiert die "ID" Spalte automatisch inkrementiert Primärschlüsselfeld in der sein "Persons" Tabelle:

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 eine Autoinkrement-Funktion auszuführen.

Standardmäßig ist der Startwert für AUTO_INCREMENT 1, und es wird um 1 für jeden neuen Datensatz erhöhen.

Damit das AUTO_INCREMENT-Sequenz mit einem anderen Wert zu starten, verwenden Sie die folgende SQL-Anweisung:

ALTER TABLE Persons AUTO_INCREMENT=100

Einen neuen Rekord in der zum Einfügen von "Persons" Tisch, wir haben keinen Wert für die angeben , "ID" Spalte (automatisch ein eindeutiger Wert hinzugefügt werden):

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

Die SQL - Anweisung oben würde fügen Sie einen neuen Datensatz in die "Persons" Tabelle. Die "ID" Spalte würde einen eindeutigen Wert zugeordnet werden. Die "FirstName" Spalte würde eingestellt werden "Lars" und der "LastName" Spalte setzen würde "Monsen" .


Syntax für SQL Server

Die folgende SQL - Anweisung definiert die "ID" Spalte automatisch inkrementiert Primärschlüsselfeld in der sein "Persons" Tabelle:

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

Der MS SQL Server verwendet das Schlüsselwort identity eine Autoinkrement-Funktion auszuführen.

In dem obigen Beispiel ist der Startwert für IDENTITY 1, und es wird um 1 für jeden neuen Datensatz erhöhen.

Tipp: Um festzulegen , dass die "ID" Spalte auf den Wert 10 und Schrittweite von 5 beginnen sollte, ändern Sie ihn auf IDENTITY (10,5).

Einen neuen Rekord in der zum Einfügen von "Persons" Tisch, wir haben keinen Wert für die angeben , "ID" Spalte (automatisch ein eindeutiger Wert hinzugefügt werden):

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

Die SQL - Anweisung oben würde fügen Sie einen neuen Datensatz in die "Persons" Tabelle. Die "ID" Spalte würde einen eindeutigen Wert zugeordnet werden. Die "FirstName" Spalte würde eingestellt werden "Lars" und der "LastName" Spalte setzen würde "Monsen" .


Syntax für Access

Die folgende SQL - Anweisung definiert die "ID" Spalte automatisch inkrementiert Primärschlüsselfeld in der sein "Persons" Tabelle:

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

Die MS Access verwendet das Schlüsselwort AUTOINCREMENT eine Autoinkrement-Funktion auszuführen.

Standardmäßig ist der Startwert für AUTOINCREMENT 1, und es wird um 1 für jeden neuen Datensatz erhöhen.

Tipp: Um festzulegen , dass die "ID" Spalte auf den Wert 10 und Zuwachs von 5, ändern Sie die autoincrement AUTOINCREMENT (10,5) beginnen soll.

Einen neuen Rekord in der zum Einfügen von "Persons" Tisch, wir haben keinen Wert für die angeben , "ID" Spalte (automatisch ein eindeutiger Wert hinzugefügt werden):

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

Die SQL - Anweisung oben würde fügen Sie einen neuen Datensatz in die "Persons" Tabelle. Die "P_Id" Spalte würde einen eindeutigen Wert zugeordnet werden. Die "FirstName" Spalte würde eingestellt werden "Lars" und der "LastName" Spalte setzen würde "Monsen" .


Syntax für Oracle

In Oracle ist der Code ein wenig komplizierter.

Sie haben ein Auto-increment-Feld mit der Sequenz-Objekt zu erstellen (dieses Objekt erzeugt eine Zahlenfolge).

Verwenden Sie die folgende CREATE SEQUENCE-Syntax:

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

Der obige Code erzeugt eine Sequenz-Objekt namens seq_person, die mit 1 beginnt und inkrementiert um 1. Es wird auch bis zu 10 Werte für Leistung zwischenzuspeichern. Die Cache-Option gibt an, wie viele Sequenzwerte werden für einen schnelleren Zugriff im Speicher abgelegt werden.

Einen neuen Rekord in der zum Einfügen von "Persons" Tabelle, werden wir die nextval Funktion (diese Funktion ruft den nächsten Wert von seq_person Sequenz) verwenden müssen:

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

Die SQL - Anweisung oben würde fügen Sie einen neuen Datensatz in die "Persons" Tabelle. Die "ID" Spalte würde die nächste Nummer aus der seq_person Sequenz zugeordnet werden. Die "FirstName" Spalte würde eingestellt werden "Lars" und der "LastName" Spalte setzen würde "Monsen" .