SQL AUTO INCREMENT-Feld
Auto-increment erzeugt eine eindeutige Nummer, wenn ein neues Record in die Tabelle eingefügt wird.
AUTO INCREMENT Feld
Wir hoffen in der Regel, dass der Wert des Primärschlüsselsfelds automatisch erstellt wird, wenn ein neuer Eintrag eingefügt wird.
Wir können in der Tabelle einen auto-increment-Feld erstellen.
Syntax für MySQL
Die folgende SQL-Anweisung definiert die Spalte "P_Id" in der Tabelle "Persons" als auto-increment 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 den Schlüsselwort AUTO_INCREMENT, um die Aufgabe des Auto-Increment auszuführen.
Standardmäßig ist der Startwert von AUTO_INCREMENT 1, und jede neue Zeile wird um 1 erhöht.
Um die AUTO_INCREMENT-Serie mit einem anderen Wert zu beginnen, verwenden Sie die folgende SQL-Syntax:
ALTER TABLE Persons AUTO_INCREMENT=100
Um einen neuen Eintrag in die Tabelle "Persons" einzufügen, müssen wir nicht einen Wert für die Spalte "P_Id" angeben (es wird automatisch ein einzigartiger Wert hinzugefügt):
INSERT INTO Persons (FirstName, LastName) VALUES ('Bill', 'Gates')
Der obige SQL-Befehl fügt im "Persons"-Tabellen eine neue Zeile ein. "P_Id" wird eine eindeutige Wert zugewiesen. "FirstName" wird auf "Bill" gesetzt, die Spalte "LastName" wird auf "Gates" gesetzt.
Syntax für SQL Server
Die folgende SQL-Anweisung definiert die Spalte "P_Id" in der Tabelle "Persons" als auto-increment 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 den Schlüsselwort IDENTITY, um die Aufgabe des Auto-Increment auszuführen.
Standardmäßig ist der Startwert von IDENTITY 1, und jede neue Zeile wird um 1 erhöht.
Um die Spalte "P_Id" so zu konfigurieren, dass sie mit 20 beginnt und um 10 zunimmt, ändern Sie bitte identity in IDENTITY(20,10):
Um einen neuen Eintrag in die Tabelle "Persons" einzufügen, müssen wir nicht einen Wert für die Spalte "P_Id" angeben (es wird automatisch ein einzigartiger Wert hinzugefügt):
INSERT INTO Persons (FirstName, LastName) VALUES ('Bill', 'Gates')
Der obige SQL-Befehl fügt im "Persons"-Tabellen eine neue Zeile ein. "P_Id" wird eine eindeutige Wert zugewiesen. "FirstName" wird auf "Bill" gesetzt, die Spalte "LastName" wird auf "Gates" gesetzt.
Syntax für Access
Die folgende SQL-Anweisung definiert die Spalte "P_Id" in der Tabelle "Persons" als auto-increment 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 den Schlüsselwort AUTOINCREMENT, um die Aufgabe des Auto-Increment auszuführen.
Standardmäßig ist der Startwert von AUTOINCREMENT 1, und jede neue Zeile wird um 1 erhöht.
Um die Spalte "P_Id" so zu konfigurieren, dass sie mit 20 beginnt und um 10 zunimmt, ändern Sie bitte autoincrement in AUTOINCREMENT(20,10):
Um einen neuen Eintrag in die Tabelle "Persons" einzufügen, müssen wir nicht einen Wert für die Spalte "P_Id" angeben (es wird automatisch ein einzigartiger Wert hinzugefügt):
INSERT INTO Persons (FirstName, LastName) VALUES ('Bill', 'Gates')
Der obige SQL-Befehl fügt im "Persons"-Tabellen eine neue Zeile ein. "P_Id" wird eine eindeutige Wert zugewiesen. "FirstName" wird auf "Bill" gesetzt, die Spalte "LastName" wird auf "Gates" gesetzt.
Syntax für Oracle
In Oracle ist der Code etwas komplexer.
Sie müssen eine sequence verwenden, um ein auto-increment-Feld zu erstellen (dieses Objekt generiert eine Nummernfolge).
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 eine Sequenzobjekt namens seq_person, das mit 1 beginnt und mit 1 inkrementiert wird. Das Objekt cacht 10 Werte, um die Leistung zu verbessern. Die CACHE-Option legt fest, wie viele Sequenzwerte gespeichert werden sollen, um die Zugriffs Geschwindigkeit zu verbessern.
Um eine neue Zeile in die "Persons"-Tabelle einzufügen, müssen wir die nextval-Funktion verwenden (diese Funktion holt den nächsten Wert aus der Sequenz seq_person zurück):
INSERT INTO Persons (P_Id, FirstName, LastName) VALUES (seq_person.nextval, 'Lars', 'Monsen')
Der obige SQL-Befehl fügt im "Persons"-Tabellen eine neue Zeile ein. Die Zuweisung von "P_Id" ist der nächste Wert der Sequenz seq_person. "FirstName" wird auf "Bill" gesetzt, die Spalte "LastName" wird auf "Gates" gesetzt.