Beim Erstellen von Tabellen in MySQL können Sie auf zwei Begriffe für die Indizierung von Daten stoßen: INDEX und KEY. Obwohl beide Begriffe denselben Zweck erfüllen, gibt es einen subtilen Unterschied in ihrer Verwendung.
Definition von INDEX und KEY
Verwendung in Create Table-Anweisungen
In Create Table-Anweisungen können Sie INDEX oder KEY austauschbar verwenden . Beispielsweise sind die folgenden beiden Anweisungen äquivalent:
CREATE TABLE tasks ( task_id INT UNSIGNED NOT NULL AUTO_INCREMENT, parent_id INT UNSIGNED NOT NULL DEFAULT 0, task VARCHAR(100) NOT NULL, PRIMARY KEY (task_id), INDEX parent (parent_id) ); CREATE TABLE orders ( order_id INT UNSIGNED NOT NULL AUTO_INCREMENT, KEY order_date (order_date) );
Eindeutige vs. nicht-eindeutige Indizes
Während sowohl INDEX als auch KEY nicht-eindeutige Indizes erstellen können, Es ist wichtig zu beachten, dass PRIMARY KEY per Definition eindeutig ist. Das bedeutet, dass der Wert in einer PRIMARY KEY-Spalte jede Zeile in der Tabelle eindeutig identifiziert. INDEX und KEY hingegen erlauben doppelte Werte.
Primärschlüssel als SCHLÜSSEL
In MySQL können Sie einen PRIMÄRSCHLÜSSEL mit dem Schlüsselwort KEY definieren. Es wird jedoch empfohlen, das Schlüsselwort PRIMARY KEY explizit zu verwenden, um Verwirrung zu vermeiden. Zum Beispiel:
CREATE TABLE customers ( customer_id INT UNSIGNED NOT NULL AUTO_INCREMENT, name VARCHAR(100) NOT NULL, PRIMARY KEY (customer_id) );
Empfehlung
Obwohl KEY und INDEX in MySQL synonym sind, wird allgemein die Verwendung von INDEX empfohlen, da es sich an den ISO-SQL-Standard anpasst und verbessert Tragbarkeit.
Das obige ist der detaillierte Inhalt vonWas ist der Unterschied zwischen INDEX und KEY bei der MySQL-Tabellenerstellung?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!