Bestimmen der Auswirkung von ALTER IGNORE TABLE ADD UNIQUE auf doppelte Datensätze
Wenn Sie versuchen, einer Tabelle eine UNIQUE-Einschränkung für mehrere Spalten hinzuzufügen, Es ist unvermeidlich, auf doppelte Datensätze zu stoßen, die gegen diese Einschränkung verstoßen. In früheren Versionen von MySQL spielte die IGNORE-Klausel in der ALTER TABLE-Anweisung eine entscheidende Rolle bei der Behandlung solcher Duplikate.
MySQL 5.7.4 und höher: IGNORE-Klausel entfernt
Ab MySQL 5.7.4 ist die IGNORE-Klausel jedoch veraltet und ihre Verwendung führt nun zu einem Fehler. Daher ist das unten beschriebene ältere Verhalten nicht mehr anwendbar.
Verhalten in älteren MySQL-Versionen
Bei älteren MySQL-Versionen, die die IGNORE-Klausel unterstützen, tritt das folgende Verhalten auf, wenn Hinzufügen einer EINZIGARTIGEN Einschränkung:
Im bereitgestellten Beispiel wird eine UNIQUE-Einschränkung für (Typ, Eigentümer) zu einer Tabelle hinzugefügt, die doppelte Datensätze mit Typ = „Apple“ und Eigentümer enthält = 'Apple CO', der Datensatz mit der kleinsten ID wird beibehalten. Die anderen Datensätze mit denselben Werten würden gelöscht.
Es ist jedoch wichtig zu beachten, dass dieses Verhalten spezifisch für MySQL-Versionen vor 5.7.4 ist. In modernen MySQL-Versionen wird die IGNORE-Klausel nicht mehr unterstützt und alle widersprüchlichen Datensätze führen dazu, dass die ALTER TABLE-Operation fehlschlägt.
Das obige ist der detaillierte Inhalt vonWas passiert mit doppelten Datensätzen, wenn in MySQL eine UNIQUE-Einschränkung hinzugefügt wird?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!