Heim > Datenbank > MySQL-Tutorial > Welcher Datensatz bleibt erhalten, wenn „ALTER IGNORE TABLE ADD UNIQUE' in MySQL verwendet wird?

Welcher Datensatz bleibt erhalten, wenn „ALTER IGNORE TABLE ADD UNIQUE' in MySQL verwendet wird?

Mary-Kate Olsen
Freigeben: 2024-11-04 02:51:29
Original
866 Leute haben es durchsucht

Which record is preserved when using `ALTER IGNORE TABLE ADD UNIQUE` in MySQL?

MySQL: ALTER IGNORE TABLE ADD UNIQUE – Auswirkungen auf die Kürzung aufzeichnen

Eine ALTER TABLE-Anweisung mit der IGNORE-Klausel wird verwendet, um eine Eindeutigkeitsbeschränkung hinzuzufügen zu einer Tabelle hinzufügen, wodurch möglicherweise doppelte Datensätze entfernt werden. Allerdings können die spezifischen gespeicherten Datensätze Fragen aufwerfen.

Frage:

Beim Ausführen der folgenden Anweisung:

ALTER IGNORE TABLE `my_table`
ADD UNIQUE (`type`, `owner`);
Nach dem Login kopieren

Welcher Datensatz bleibt erhalten, wenn mehrere doppelte Datensätze mit demselben Typ und denselben Besitzerwerten vorhanden sind?

Antwort:

Ab MySQL 5.7.4 gibt es die IGNORE-Klausel nicht mehr unterstützt und seine Verwendung führt zu einem Fehler.

Allerdings gilt in früheren Versionen von MySQL, die die IGNORE-Klausel zulassen:

  • Erster Datensatz beibehalten:Nur ​​die erste Zeile in der Tabelle mit der eindeutigen Tastenkombination wird beibehalten.
  • Doppelte Zeilen abgeschnitten: Alle anderen Zeilen mit derselben eindeutigen Tastenkombination werden gelöscht.

Laut der MySQL-Dokumentation bezieht sich „zuerst“ wahrscheinlich auf den Datensatz mit dem niedrigsten Primärschlüsselwert. In Ihrem Fall wird unter der Annahme, dass die ID-Spalte der Primärschlüssel ist, der Datensatz mit der kleinsten ID beibehalten.

Das obige ist der detaillierte Inhalt vonWelcher Datensatz bleibt erhalten, wenn „ALTER IGNORE TABLE ADD UNIQUE' in MySQL verwendet wird?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage