Szenario: Die gecrawlten Daten erzeugen eine Datentabelle mit der gleichen Struktur wie eine andere Haupttabelle, die zusammengeführt und dedupliziert werden muss Lösung: (direktes Beispiel) Erstellen Sie zunächst zwei Tabellen pep und pep2, wobei pep die Haupttabelle ist Tabelle erstellen, wenn nicht vorhanden `pep/pep2`( `id` INT UNSIGNED AUTO_INCREMENT, `nein` VARCHAR(100) NICHT NULL, PRIMÄRSCHLÜSSEL ( `id` ) )ENGINE=InnoDB STANDARD-CHARSET=utf8; Fügen Sie dann zwei Daten in pep ein und fügen Sie ein Datenstück, das mit dem in pep identisch ist, in pep2 ein. in pep(no) Werte einfügen('abc'); in pep(no) Werte einfügen('caa'); in pep2 einfügen (keine) Werte ('abc'); Pep2-Daten in Pep einfügen in pep einfügen (nein) nein aus pep2 auswählen; Gruppe zum Neuerstellen einer neuen temporären Tabelle tmp Erstellen Sie die temporäre Tabelle, wählen Sie ID, Nr. aus der Pep-Gruppe nach Nr. Hinweis: Nach dem Erstellen dieser Tabelle ist der ID-Feldtyp kein Primärschlüssel-Autoinkrement mehr Möglicherweise erhalten Sie auch die Fehlermeldung ```Syntaxfehler oder Zugriffsverletzung: 1055 Ausdruck Nr. 1 von SELECT Liste ist nicht in der GROUP BY-Klausel und enthält nicht aggregierte Spalte 'XXX.Y.ZZZZ', die nicht funktional abhängig ist von Spalten in der GROUP BY-Klausel; dies ist inkompatibel mit sql_mode=only_full_group_by ``` Lösung: Führen Sie die folgenden beiden Befehle aus: ``` mysql> globalen SQL-Modus festlegen = 'STRICT_TRANS_TABLES, NO_ZERO_IN_DATE, NO_ZERO_DATE, ERROR_FOR_DIVISION_BY_ZERO, NO_AUTO_CREATE_USER, NO_ENGINE_SUBSTITUTION'; mysql> Sitzung festlegen sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'; ``` Löschen Sie die pep-Tabelle und benennen Sie die tmp-Tabelle in pep um. Tischpep fallen lassen; Tabelle vorübergehend ändern, in „pep“ umbenennen; Überprüfen Sie die Desc-Struktur und wählen Sie * aus Pep aus. Sie werden feststellen, dass sich der Feldtyp der ID geändert hat. Sie müssen ihn wieder auf den ursprünglichen Typ zurücksetzen. Tabelle ändern, Pep Primärschlüssel (ID) hinzufügen; Tabelle ändern, PEP-ID ändern, int auto_increment; Sie können auch Join verwenden, um Duplikate zu entfernen. Um schneller zu sein, können Sie ein Feld hinzufügen (das der kombinierte MD5-Wert mehrerer Felder sein kann), einen eindeutigen Index für dieses Feld erstellen und doppelte Daten beim Einfügen von Daten in Zukunft automatisch herausfiltern. Zusammenfassen Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels einen gewissen Lernwert für Ihr Studium oder Ihre Arbeit hat. Vielen Dank für Ihre Unterstützung von 123WORDPRESS.COM. Das könnte Sie auch interessieren:
|
<<: Lösen Sie das Problem inkonsistenter Front- und Back-End-Ports von Vue
>>: Ubuntu 18.04 erhält Root-Berechtigungen und meldet sich als Root-Benutzer an
Auf dem heimischen Markt besteht noch immer ein g...
Vorwort Dies ist eine Untersuchung, die durch die...
Warum brauchen wir virtuellen Dom? Virtual DOM wu...
Es gibt ein auf dem Mac entwickeltes Projekt, das...
Ich habe heute einen neuen Trick gelernt. Ich kann...
Um die JSON-Daten in einem schönen eingerückten F...
Inhaltsverzeichnis 1. Grundlegende Konzepte 1.1 Z...
Inhaltsverzeichnis 1.parseInt(Zeichenfolge, Basis...
Inhaltsverzeichnis Vorwort 1. for-Schleife 2. whi...
Inhaltsverzeichnis nächstesTick Syntaxvereinfachu...
Inhaltsverzeichnis Vorwort Publish-Subscriber-Mus...
Der erste Schritt besteht darin, einen MySQL-Cont...
Inhaltsverzeichnis Werkzeug: Anmeldeszenario: übe...
Lottie ist eine von Airbnb entwickelte Open-Sourc...
1. Laden Sie das Installationspaket von der offiz...