Identitätsspalte in MySQL
Im heutigen Beitrag lernen wir das MySQL-Äquivalent einer IDENTITY
-Spalte kennen.
IDENTITY
-Spalte in MySQL
Beim Erstellen einer Tabelle haben wir möglicherweise keine eindeutige Identität in der Datenbank, was die Auswahl eines Primärschlüssels
schwierig macht. Um ein solches Problem zu lösen, müssen wir jedem Datensatz manuell eindeutige Schlüssel zuweisen, was oft zeitaufwändig ist.
In Microsoft SQL Server ist die Spalte IDENTITY
einer Tabelle eine Spalte, deren Wert automatisch erhöht wird. Der Server generiert den Wert für eine IDENTITY
-Spalte.
Meistens können Benutzer den Spalten IDENTITY
keine Werte hinzufügen. Über die Spalte IDENTITY
können die Zeilen der Tabelle eindeutig identifiziert werden.
Syntax:
IDENTITY [( starting_value, increment_value)]
Die AUTO_INCREMENT
-Funktion von MySQL ist das Äquivalent der IDENTITY
-Spalte in Microsoft SQL Server. In SQL Server funktioniert IDENTITY
ähnlich wie AUTO_INCREMENT
in MySQL.
In MySQL wird das Schlüsselwort AUTO_INCREMENT
verwendet, um die automatische Inkrementierung zu aktivieren. AUTO_INCREMENT
beginnt standardmäßig bei 1 und erhöht sich um 1.
Syntax:
CREATE TABLE table_name
(
column_1 dataType AUTO_INCREMENT PRIMARY KEY,
column_2 dataType,
);
Der Parameter table_name
gibt in diesem Fall den Namen der Tabelle an, auf der Spalten erstellt werden sollen. Um einen Datenbankfehler zu vermeiden, müssen Sie den Primärschlüssel
eingeben, wenn Ihre MySQL-Spalte automatisch inkrementiert wird.
Die Funktion AUTO_INCREMENT
in MySQL beginnt bei 1 und erhöht die folgende Zahl standardmäßig um 1, wenn Sie keine Werte für die Auto-Increment-Spalte angeben.
Betrachten Sie das folgende Beispiel, um die vorherige Idee besser zu verstehen.
CREATE TABLE Orders(
order_id INT AUTO_INCREMENT,
product_name VARCHAR(255),
sku VARCHAR(255)
);
CREATE TABLE Orders(
order_id INT AUTO_INCREMENT PRIMARY KEY,
product_name VARCHAR(255),
sku VARCHAR(255)
);
Im vorherigen Beispiel haben wir eine Tabelle Bestellungen
mit den Feldern Bestell-ID
, Produktname
und SKU
erstellt. Wir generieren automatisch order_id
mit AUTO_INCREMENT
.
Im ersten Fall wird der Primärschlüssel nicht angegeben, um das Problem zu identifizieren; Im zweiten Beispiel wird jedoch die order_id
als Primärschlüssel für die Datenbank verwendet.
Führen Sie die obige Codezeile in jedem mit MySQL kompatiblen Browser aus. Es wird das folgende Ergebnis angezeigt:
ERROR 1075 (42000) − Incorrect table definition; there can be only one auto column and it must be defined as a key
Query OK, 0 rows affected (0.59 sec)
Shraddha is a JavaScript nerd that utilises it for everything from experimenting to assisting individuals and businesses with day-to-day operations and business growth. She is a writer, chef, and computer programmer. As a senior MEAN/MERN stack developer and project manager with more than 4 years of experience in this sector, she now handles multiple projects. She has been producing technical writing for at least a year and a half. She enjoys coming up with fresh, innovative ideas.
LinkedInVerwandter Artikel - MySQL Column
- Aktualisieren Sie mehrere Spalten in mehreren Zeilen mit unterschiedlichen Werten in MySQL
- Finden Sie Tabellen in MySQL mit bestimmten Spaltennamen darin
- Fügen Sie in MySQL eine Auto-Increment-Spalte hinzu
- Geben Sie eindeutige Einschränkungen für mehrere Spalten in MySQL an
- Konvertieren Sie Zeilen in Spalten in MySQL