Heim > Datenbank > MySQL-Tutorial > Hauptteil

Eine detaillierte Einführung, wie MySQL UNIQUE verwendet, um das Einfügen nicht doppelter Daten zu erreichen

黄舟
Freigeben: 2017-05-28 09:58:10
Original
2035 Leute haben es durchsucht

Wenn eine eindeutige Spalte einen Datensatz einfügt, der doppelte Werte für einen UNIQUE-Schlüssel enthält, können wir steuern, wie MySQL mit dieser Situation umgeht: Verwenden Sie das Schlüsselwort IGNORE oder ON DUPLICATE KEY UP Die DATE-Klausel überspringt INSERT, unterbricht Vorgänge oder aktualisiert alte Datensätze auf neue Werte.

SQL UNIQUE Einschränkung

Die UNIQUE-Einschränkung identifiziert jeden Datensatz in einer Datenbanktabelle eindeutig.
Sowohl UNIQUE- als auch PRIMARY KEY-Einschränkungen bieten Eindeutigkeitsgarantien für eine Spalte oder einen Satz von Spalten.
PRIMARY KEY hat automatisch UNIQUE-Einschränkungen definiert.

Bitte beachten Sie, dass jede Tabelle mehrere UNIQUE-Einschränkungen haben kann, es jedoch nur eine PRIMARY KEY-Einschränkung pro Tabelle geben kann.

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

CREATE TABLE Persons
(
  Id_P int NOT NULL,
  LastName varchar(255) NOT NULL,
  FirstName varchar(255),
  Address varchar(255),
  City varchar(255),
  UNIQUE (Id_P)
)
Nach dem Login kopieren

Wenn Sie die EINZIGARTIGE Einschränkung benennen müssen, und Definieren Sie die EINZIGARTIGE Einschränkung für mehrere Spalten. Bitte verwenden Sie die folgende SQL-Syntax:

CREATE TABLE Persons
(
  Id_P int NOT NULL,
  LastName varchar(255) NOT NULL,
  FirstName varchar(255),
  Address varchar(255),
  City varchar(255),
  CONSTRAINT uc_PersonID UNIQUE (Id_P,LastName)
)
Nach dem Login kopieren

Wenn Sie nach der Erstellung der Tabelle eine EINZIGARTIGE Einschränkung für die Spalte „Id_P“ erstellen müssen, verwenden Sie bitte die folgende SQL :

ALTER TABLE Persons ADD UNIQUE (Id_P)
Nach dem Login kopieren

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

ALTER TABLE Persons ADD CONSTRAINT uc_PersonID UNIQUE (Id_P,LastName)
Nach dem Login kopieren

Um eine UNIQUE-Einschränkung aufzuheben, verwenden Sie bitte das folgende SQL:

ALTER TABLE Persons DROP INDEX uc_PersonID
Nach dem Login kopieren

Auf diese Weise fordert MySQL jedes Mal auf, dass ein doppelter Datensatz eingefügt wird Fügen Sie beim Einfügen „ignorieren“ hinzu, um ihn zu ignorieren. Jetzt müssen wir, nachdem wir sichergestellt haben, dass keine doppelten Datensätze vorhanden sind, den Einfügevorgang starten, wenn der Datensatz nicht vorhanden ist, und den Aktualisierungsvorgang, wenn er vorhanden ist

Diese Anweisung bedeutet, den Wert einzufügen:
INSERT INTO tablename (field1, field2, field3, ...) VALUES ('value1', 'value2','value3', ...) ON DUPLICATE KEY UPDATE field1='value1', field2='value2', field3='value3', ...
Nach dem Login kopieren


Wenn in diesem Abschnitt der Datensatz vorhanden ist, führen Sie
INSERT INTO tablename (field1, field2, field3, ...) VALUES ('value1', 'value2','value3', ...)
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonEine detaillierte Einführung, wie MySQL UNIQUE verwendet, um das Einfügen nicht doppelter Daten zu erreichen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!