Heim > Datenbank > MySQL-Tutorial > Hauptteil

Erklären Sie, wie MySQL doppelte Daten löscht

藏色散人
Freigeben: 2022-01-23 09:17:30
nach vorne
10542 Leute haben es durchsucht

In diesem Artikel erfahren Sie, wie Sie doppelte Daten in MySQL löschen. Es hat einen gewissen Referenzwert. Freunde in Not können sich darauf beziehen. Ich hoffe, es wird für alle hilfreich sein.

sku entspricht, sollte eine sku_id haben, die einem eindeutigen Gewichtsdatenelement entspricht. Aufgrund eines Programmfehlers werden dieselben redundanten Daten angezeigt. Behalten Sie nur eines und löschen Sie die anderen.

Feld Beschreibung
id Selbstinkrementieren
sku_id sku_id. Identifikation
Gewicht Gewicht

Angenommener Tabellenname: Gewicht

Fragen Sie die Liste mit doppelten Daten ab.

SELECT sku_id,COUNT(id) FROM weight GROUP BY sku_id HAVING COUNT(sku_id) > 1
Nach dem Login kopieren

Fragen Sie jede kleinste ID in den doppelten Daten ab ID, die doppelte Datendaten entfernt

SELECT min(id) FROM weight   GROUP BY sku_id HAVING COUNT(sku_id) > 1
Nach dem Login kopieren

Der Grund ist: Beim Löschen dieser Tabelle wird diese Tabelle gleichzeitig abgefragt, und während diese Tabelle abgefragt wird, wird diese Tabelle gleichzeitig gelöscht, was als a verstanden werden kann Deadlock. MySQL unterstützt diesen Vorgang des Löschens und Abfragens derselben Tabelle nicht

SELECT id,sku_id FROM weight WHERE sku_id IN(
    SELECT sku_id FROM weight   GROUP BY sku_id HAVING COUNT(sku_id) > 1)AND id NOT IN(
    SELECT MIN(id) FROM weight   GROUP BY sku_id HAVING COUNT(sku_id) > 1)
Nach dem Login kopieren
Die Lösung lautet wie folgt: Fragen Sie die zu löschenden Daten als Drittanbietertabelle ab und filtern und löschen Sie sie dann.

DELETE FROM weight WHERE sku_id IN(
    SELECT sku_id FROM weight   GROUP BY sku_id HAVING COUNT(sku_id) > 1)AND id NOT IN(
    SELECT MIN(id) FROM weight   GROUP BY sku_id HAVING COUNT(sku_id) > 1)
Nach dem Login kopieren

Das Update funktioniert ebenfalls nach dem gleichen Prinzip wie oben. Empfohlenes Lernen: „

MySQL-Video-Tutorial

Das obige ist der detaillierte Inhalt vonErklären Sie, wie MySQL doppelte Daten löscht. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:learnku.com
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