Identitätsspalte in MySQL

Shraddha Paghdar 20 Juni 2023
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 Paghdar avatar Shraddha Paghdar avatar

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.

LinkedIn

Verwandter Artikel - MySQL Column