Lösung für viele Zeilenumbrüche und Wagenrückläufe in MySQL-Daten

Lösung für viele Zeilenumbrüche und Wagenrückläufe in MySQL-Daten

Finden Sie das Problem

Heute Morgen rief mich ein Kunde an und sagte: „Xiao Chen, ich habe gestern Abend Hunderttausende von Daten in die Datenbank importiert, aber viele davon konnte ich auf der Weboberfläche nicht finden. Was zum Teufel ist Ihr System? So viele Fehler! Debo debo de…“ (2.000 Wörter ausgelassen) und er kritisierte unser Projekt regelmäßig als Miststück~~

OK, OK, der Kunde kann sprühen, was er will, ich betrachte es einfach als Frühstück 🙂🙂🙂🙂 Rülpser~ Mm, ich bin wirklich satt;

Als ich in der Firma ankam, testete ich zunächst das vom Kunden angegebene Fehlerbeispiel (ich konnte es nicht finden) und überprüfte dann, ob es ein Problem mit den Daten von gestern gab. Ich stellte fest, dass die Daten, die der Kunde gestern mit Excel importiert hatte, viele Zeilenumbrüche und Wagenrückläufe wie \r\n enthielten.

Beispiel: Die Daten in der Datenbank lauten: „Zeilenumbruch\nZeilenumbruch\nZeilenumbruch“, und dann wird in der Schnittstelle folgende SQL-Abfrage verwendet, dann sind sie natürlich nicht auffindbar!

SELECT * von `LOL`, wobei Name = 'Zeilenumbruch, Zeilenumbruch, Zeilenumbruch';

Zeilenumbruchzeichen: CHAR(10) = "\n"

Wagenrücklaufzeichen: CHAR(13) = "\r"

In MySQL sind Wagenrücklauf- und Zeilenvorschubzeichen beide Zeichentypen. Wenn sie in varchar platziert werden, werden sie in Plug-Ins wie Navcat nicht angezeigt. Sie müssen das MySQL-Terminal und Navcat vergleichen, um sie zu sehen (Falle~)

Das Navcat-Plugin zeigt Folgendes an:

Bildbeschreibung hier einfügen

Das MySQL-Terminal zeigt Folgendes an:

(Auch das Wagenrücklaufzeichen \r führte dazu, dass die Datenergebnisse direkt zurückgegeben wurden und nur ein Teil davon angezeigt wurde. MySQL, was soll ich über dich sagen? 😰😰)

mysql> wähle * aus `LOL`;
+----+------------------------------+-----------+--------+
| ID | Heldentitel | Heldenname | Preis |
+----+------------------------------+-----------+----------+
| 1 | DBlade Schatten | Talon | 6300 |
| 2 | X-Swift-Scout | Teemo | 6300 |
| 8 | neue Zeile neue Zeile neue Zeile| neue Zeile| 450 |
Wagenrücklauf | Wagenrücklauf | 450 |
+----+------------------------------+-----------+--------+
4 Zeilen im Satz (0,00 Sek.)

1. So entfernen Sie Zeilenumbrüche und Wagenrückläufe

Wenn die Bedingungen es erlauben, wird empfohlen, die Zeilenvorschub- und Wagenrücklaufzeichen direkt über Anweisungen zu löschen, und zwar wie folgt:

Entfernen Sie alle Zeilenumbrüche in der Spalte „hero_title“ (Sie können dies auf eine der folgenden Arten tun):

-- Entfernen Sie alle Zeilenumbrüche in der Spalte „hero_title“ (eine der folgenden Methoden funktioniert)
Aktualisiere „LOL“, setze hero_title = REPLACE(hero_title, „\n“, „);
Aktualisiere `LOL`, setze hero_title = REPLACE(hero_title, char(10), '');

– Entfernen Sie alle Zeilenumbrüche aus der Spalte „hero_title“ (Sie können dies auf eine der folgenden Arten tun)

- Entfernen Sie alle Wagenrückläufe aus der Spalte „hero_title“. Update „LOL“. Setze hero_title = REPLACE(hero_title, „\r“, „“);
Aktualisiere `LOL`, setze hero_title = REPLACE(hero_title, char(13), '');

2. So ignorieren Sie „Zeilenvorschub und Wagenrücklauf“ in der SELECT-Abfrage

Lassen es die Umstände nicht zu, ist der Kunde beispielsweise „völlig aufgeregt“ und schreit Sie an: Sie dürfen die Daten von Curry nicht anfassen! …ich habe gelacht~

Was soll ich dann tun? Sie können Zeilenumbrüche und Wagenrückläufe herausfiltern, indem Sie das SQL ändern. Dies beeinträchtigt jedoch bis zu einem gewissen Grad die Abfrageeffizienz und Sie müssen, wie Sie wissen, viel Code ändern.

Denken Sie daran, was Herr Lu Xun sagte: Wo es Unterdrückung gibt, muss es Widerstand geben!

Hier ist ein Beispiel:

-- Zeilenumbrüche ignorieren Abfrage SELECT * from `LOL` where REPLACE(hero_title, char(10), '') = 'Zeilenumbruch Zeilenumbruch Zeilenumbruch';
-- Ignorieren Sie die Abfrage nach dem Wagenrücklaufzeichen. SELECT * from `LOL` where REPLACE(hero_title, char(13), '') = 'Wagenrücklauf Wagenrücklauf Wagenrücklauf';
-- Zeilenumbrüche und Wagenrückläufe ignorieren. SELECT * from `LOL` where REPLACE(REPLACE(hero_title, char(13), ''), char(10), '') = 'Wagenrücklauf Wagenrücklauf Wagenrücklauf';

3. Erfahrungszusammenfassung

Ähnliche Symbole müssen im Allgemeinen beim Eingeben in die Datenbank gelöscht werden. Wenn sie beibehalten werden müssen, wird empfohlen, sie durch andere benutzerdefinierte Kennungen zu ersetzen (z. B. eine selbst erstellte eindeutige Kennung, die ich „große Augen, die kleine Augen anstarren: o_O“ nenne) und den Ersatz im Hintergrundprogramm durchzuführen, um die Indexierungseffizienz nicht zu beeinträchtigen.

Nun, ich hoffe, dieser Artikel kann Ihnen helfen. Vielleicht können Sie ihn markieren und Ihren Kollegen vorlegen, wenn sie auf dieses Problem stoßen.

Dies ist das Ende dieses Artikels zur Lösung des Problems vieler Zeilenumbrüche und Wagenrückläufe in MySQL-Daten. Weitere Informationen zu MySQL-Zeilenumbrüchen und Wagenrückläufen finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

Das könnte Sie auch interessieren:
  • Eine kurze Diskussion über Zeilenumbrüche in MySQL-Datenbanken und Zeilenumbrüche in Textbereichen

<<:  Der Excel-Export schlägt in der Docker-Umgebung immer fehl

>>:  So kapseln Sie Paging-Komponenten manuell in Vue3.0

Artikel empfehlen

Wie füge ich ein Website-Symbol hinzu?

Der erste Schritt besteht darin, eine Software zur...

So fügen Sie bedingte Ausdrücke zu Aggregatfunktionen in MySql hinzu

MySQL-Filterungs-Timing von Where-Bedingungen und...

CSS3 Flexible Box Flex, um ein dreispaltiges Layout zu erreichen

Wie der Titel schon sagt: Die Höhe ist bekannt, d...

Analyse der Schwierigkeiten im Hot-Standby der MySQL-Datenbank

Ich habe Ihnen zuvor die Konfigurationsmethode fü...

React-Konfiguration px-Konvertierung rem-Methode

Installieren Sie zugehörige Abhängigkeiten npm ic...

Detaillierte Erläuterung der Angular-Strukturdirektivenmodule und -Stile

Inhaltsverzeichnis 1. Strukturelle Anweisungen Mo...

7 Fähigkeiten, die Webdesigner haben müssen

Webdesign ist sowohl eine Wissenschaft als auch e...