MySQL verwendet UNIQUE, um das Einfügen nicht doppelter Daten zu implementieren

MySQL verwendet UNIQUE, um das Einfügen nicht doppelter Daten zu implementieren

SQL UNIQUE-Einschränkung

Die UNIQUE-Einschränkung identifiziert jeden Datensatz in einer Datenbanktabelle eindeutig.
Sowohl UNIQUE- als auch PRIMARY KEY-Einschränkungen garantieren die Eindeutigkeit einer Spalte oder einer Gruppe von Spalten.
Für einen PRIMARY KEY ist automatisch eine UNIQUE-Einschränkung definiert.

Beachten Sie, dass Sie pro Tabelle mehrere UNIQUE-Einschränkungen haben können, aber nur eine PRIMARY KEY-Einschränkung pro Tabelle.

Das folgende SQL erstellt eine UNIQUE-Einschränkung für die Spalte „Id_P“, wenn die Tabelle „Personen“ erstellt wird:

Tabelle erstellen Personen
(
  Id_P int NICHT NULL,
  Nachname varchar(255) NICHT NULL,
  Vorname varchar(255),
  Adresse varchar(255),
  Stadt varchar(255),
  EINZIGARTIG (Id_P)
)

Wenn Sie eine UNIQUE-Einschränkung benennen und eine UNIQUE-Einschränkung für mehrere Spalten definieren müssen, verwenden Sie die folgende SQL-Syntax:

Tabelle erstellen Personen
(
  Id_P int NICHT NULL,
  Nachname varchar(255) NICHT NULL,
  Vorname varchar(255),
  Adresse varchar(255),
  Stadt varchar(255),
  CONSTRAINT uc_PersonID UNIQUE (Id_P,Nachname)
)

Nachdem die Tabelle erstellt wurde, verwenden Sie das folgende SQL, um eine UNIQUE-Einschränkung für die Spalte „Id_P“ zu erstellen:

ALTER TABLE Persons ADD UNIQUE (Id_P)

Um eine UNIQUE-Einschränkung zu benennen und eine UNIQUE-Einschränkung für mehrere Spalten zu definieren, verwenden Sie die folgende SQL-Syntax:

ALTER TABLE Persons ADD CONSTRAINT uc_PersonID UNIQUE (Id_P,LastName)

Um eine UNIQUE-Einschränkung zu löschen, verwenden Sie das folgende SQL:

ALTER TABLE Persons DROP INDEX uc_PersonID

Auf diese Weise fordert MySQL jedes Mal, wenn Sie einen doppelten Datensatz einfügen, den doppelten Eintrag value1-value2 für den Schlüssel uni_que an. Natürlich können Sie beim Einfügen ignore to ignore hinzufügen. Da es jetzt keine doppelten Datensätze gibt, möchten wir mit dem Einfügen beginnen, wenn der Datensatz nicht existiert, und mit dem Aktualisieren, wenn er existiert.

INSERT INTO tablename (field1, field2, field3, ...) VALUES ('value1', 'value2','value3', ...) ON DUPLICATE KEY UPDATE field1='value1', field2='value2', field3='value3', ...

Diese Anweisung bedeutet, einen Wert einzufügen. Wenn kein Datensatz vorhanden ist, führen Sie Folgendes aus:

INSERT INTO tablename (field1, field2, field3, ...) VALUES ('value1', 'value2','value3', ...)

Führen Sie in diesem Abschnitt, wenn der Datensatz vorhanden ist, Folgendes aus:

UPDATE field1='value1', field2='value2', field3='value3', ...

Das könnte Sie auch interessieren:
  • Suchen Sie nach doppelten Datensätzen in der MySQL-Tabelle
  • MySQL SQL-Anweisung zum Suchen doppelter Daten basierend auf einem oder mehreren Feldern
  • Detaillierte Erklärung, wie man doppelte Daten in MySQL findet und löscht und nur ein Beispiel behält
  • So fragen Sie doppelte Daten in einer MySQL-Tabelle ab
  • Zusammenfassung der Methoden zum Löschen doppelter Daten in der MySQL-Datenbank
  • MySQL-Abfrage doppelter Daten (löschen Sie doppelte Daten und behalten Sie die Daten mit der kleinsten ID als einzige Daten)
  • Sehr umfassender MySQL-Code zur Handhabung doppelter Daten
  • Zusammenfassung der Methoden zum Löschen doppelter Datensätze in der MySQL-Datenbank [Empfohlen]
  • Teilen Sie die Methode zum Ignorieren doppelter Daten beim Einfügen von Daten in MySQL
  • Ein praktischer Bericht über die Prüfung und Bearbeitung doppelter MySQL-Datensätze vor Ort

<<:  Das WeChat-Applet realisiert einen mehrzeiligen Text-Scroll-Effekt

>>:  So zeigen Sie allgemeine Symbole auf dem Desktop in Windows Server 2012 an oder verbergen sie

Artikel empfehlen

So kapseln Sie Axios in Vue

Inhaltsverzeichnis 1. Installation 1. Einleitung ...

Detaillierte Erläuterung des Lese-Commits der MySQL-Transaktionsisolationsebene

MySQL-Transaktionsisolationsebene anzeigen mysql&...

Ausführliches Tutorial zur Installation von Deepin in VMware15 (Bild und Text)

Vorwort Die Benutzeroberfläche von Deepin sieht w...

Wie Sie React forwardRef verwenden und was Sie beachten müssen

Bisher konnte react.forwardRef nicht auf höherwer...

Eine detaillierte Einführung in die Verwendung von Blockkommentaren in HTML

Allgemeine Kommentare in HTML: <!--XXXXXXXX--&g...

Eine kurze Diskussion darüber, wie man Div und Tabelle auswählt und kombiniert

Das Seitenlayout war mir schon immer ein Anliegen...

Beispiel zum schnellen Löschen einer 2T-Tabelle in MySQL in Innodb

Vorwort Dieser Artikel stellt hauptsächlich den r...

Referenz zur MySQL-Optimierungslösung

Probleme, die bei der Optimierung auftreten könne...

Vue implementiert Multi-Grid-Eingabefeld auf mobilem Endgerät

Vor Kurzem hat das Unternehmen die Anforderung ge...

5 Lösungen für den CSS-Box-Zusammenbruch

Zunächst: Was ist ein Box-Collapse? Elemente, die...

Multiservice-Image-Packaging-Vorgang von Dockerfile unter Aufsicht

Schreiben einer Docker-Datei Konfigurieren Sie di...