So fügen Sie einen eindeutigen Index in MySQL hinzu
Jun 20, 2022 pm 06:50 PMDrei Möglichkeiten zum Hinzufügen: 1. Verwenden Sie zum Hinzufügen die Anweisung „CREATE INDEX“. Die Syntax lautet „CREATE UNIQUE INDEX index name ON table name (column name list);“ 2. Beim Erstellen einer Tabelle lautet die Syntax „CREATE TABLE Tabellenname (. .. UNIQUE KEY (Spaltennamenliste) );“; 3. Beim Ändern der Tabelle wurde die Syntax „ALTER TABLE Tabellenname ADD CONSTRAINT Indexname UNIQUE KEY (Spaltennamenliste)“ hinzugefügt.
Die Betriebsumgebung dieses Tutorials: Windows7-System, MySQL8-Version, Dell G3-Computer.
MySQL Unique Index (UNIQUE)
Um eindeutige Werte für eine oder mehrere Spalten zu erzwingen, wird normalerweise eine PRIMARY KEY-Einschränkung verwendet. Allerdings kann jede Tabelle nur einen Primärschlüssel haben. Daher können Sie keine Primärschlüsseleinschränkungen verwenden, wenn Sie mehrere Spalten oder eine Reihe von Spalten mit eindeutigen Werten einbeziehen möchten.
Glücklicherweise bietet MySQL einen weiteren Index namens UNIQUE-Index, mit dem Sie erzwingen können, dass Werte für eine oder mehrere Spalten eindeutig sind. Im Gegensatz zu PRIMARY KEY-Indizes kann UNIQUE mehrere Indizes pro Tabelle haben.
Um einen UNIQUE-Index zu erstellen, verwenden Sie den folgenden <span style="background-color: rgb(255, 255, 255); color: rgb(68, 68, 68); Font-family: " helvetica neue microsoft yahei arial sans-serif>CREATE INDEX<code><span style="background-color: rgb(255, 255, 255); color: rgb(68, 68, 68); font-family: " helvetica neue yahei arial sans-serif>CREATE INDEX</span>
Anweisung:
CREATE UNIQUE INDEX 索引名 ON 表名(列名1,列名2,...);
Eine andere Möglichkeit, die Eindeutigkeit von Werten in einer oder mehreren Spalten zu erzwingen, ist die Verwendung von UNIQUE Einschränkungen.
Wenn Sie eine UNIQUE-Einschränkung erstellen, erstellt MySQL im Hintergrund den Index.
Die folgenden Anweisungen veranschaulichen, wie man beim Erstellen einer Tabelle eine eindeutige Einschränkung erstellt.
CREATE TABLE 表名( ... UNIQUE KEY(列名1,列名2,...) );
Sie können auch einen eindeutigen Index (UNIQUE) zu einer vorhandenen Tabelle hinzufügen, indem Sie die ALTER TABLE-Anweisung verwenden.
ALTER TABLE 表名 ADD CONSTRAINT 索引名 UNIQUE KEY(列名1,列名2,...);
MySQL UNIQUE-Indexbeispiel
Angenommen, Sie möchten Kontakte in Ihrer Anwendung verwalten. Sie möchten außerdem, dass die E-Mail-Adresse für jeden Kontakt in der Kontakttabelle eindeutig ist.
Um diese Regel durchzusetzen, erstellen Sie eine eindeutige Einschränkung in der CREATE TABLE-Anweisung wie folgt:
CREATE TABLE IF NOT EXISTS contacts ( id INT AUTO_INCREMENT PRIMARY KEY, first_name VARCHAR(50) NOT NULL, last_name VARCHAR(50) NOT NULL, phone VARCHAR(15) NOT NULL, email VARCHAR(100) NOT NULL, UNIQUE KEY unique_email (email) );
Wenn Sie die SHOW INDEXES-Anweisung verwenden, werden Sie sehen, dass MySQL UNIQUE einen Index für die E-Mail-Spalte erstellt.
SHOW INDEXES FROM contacts;
Lassen Sie uns eine Zeile in die Kontakttabelle einfügen.
INSERT INTO contacts(first_name,last_name,phone,email) VALUES('John','Doe','(408)-999-9765','john.doe@mysqltutorial.org');
Wenn Sie nun versuchen, die Zeile einzufügen, in der john.doe@mysqltutorial.org ihre E-Mail-Adresse hat, erhalten Sie eine Fehlermeldung.
INSERT INTO contacts(first_name,last_name,phone,email) VALUES('Johny','Doe','(408)-999-4321','john.doe@mysqltutorial.org');
ERROR 1062 (23000): Duplicate entry 'john.doe@mysqltutorial.org' for key 'unique_email'
Angenommen, Sie möchten, dass die Kombination aus Vorname, Nachname und Telefonnummer auch unter den Kontakten eindeutig ist. In diesem Fall können Sie mit der CREATE INDEX-Anweisung UNIQUE Indizes für diese Spalten erstellen, wie unten gezeigt:
CREATE UNIQUE INDEX idx_name_phone ON contacts(first_name,last_name,phone);
Fügen Sie die folgende Zeile zu Kontakten hinzu, da das Kombinieren von Tabellen zu einem Fehler führt. Vorname, Nachname und Telefon sind bereits vorhanden.
INSERT INTO contacts(first_name,last_name,phone,email) VALUES('john','doe','(408)-999-9765','john.d@mysqltutorial.org');
【Verwandte Empfehlungen: MySQL-Video-Tutorial】
Das obige ist der detaillierte Inhalt vonSo fügen Sie einen eindeutigen Index in MySQL hinzu. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heißer Artikel

Hot-Tools-Tags

Heißer Artikel

Heiße Artikel -Tags

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

PHPs Fähigkeiten zur Verarbeitung von Big-Data-Strukturen

Wie optimiert man die MySQL-Abfrageleistung in PHP?

Wie verwende ich MySQL-Backup und -Wiederherstellung in PHP?

Wie füge ich mit PHP Daten in eine MySQL-Tabelle ein?

Welche Anwendungsszenarien gibt es für Java-Aufzählungstypen in Datenbanken?

So beheben Sie den Fehler „mysql_native_password nicht geladen' unter MySQL 8.4

Wie verwende ich gespeicherte MySQL-Prozeduren in PHP?

Strategien zur Leistungsoptimierung für PHP-Array-Paging
