Heim > Datenbank > MySQL-Tutorial > Hauptteil

Warum wird bei der Suche ohne Berücksichtigung der Groß-/Kleinschreibung in MySQL mit dem LIKE-Operator und der Codierung utf8_general_ci die Groß-/Kleinschreibung beachtet?

Susan Sarandon
Freigeben: 2024-11-08 14:12:02
Original
1052 Leute haben es durchsucht

Why is Case-Insensitive Searching in MySQL with LIKE Operator and utf8_general_ci Encoding Case-Sensitive?

Groß-/Kleinschreibung bei der Suche in MySQL

In diesem Beitrag wird das Problem untersucht, bei dem MySQL Abfragen mithilfe des LIKE-Operators in Tabellen mit utf8_general_ci-Codierung und MyISAM-Speicher-Engine durchführt Dies führt zu Suchanfragen, bei denen die Groß-/Kleinschreibung beachtet wird.

Um dieses Problem zu beheben, gibt es zwei empfohlene Lösungen:

1. Verwendung von Binärzeichenfolgen:

Durch Anhängen des Schlüsselworts BINARY an den LIKE-Operator kann eine Suche ohne Berücksichtigung der Groß-/Kleinschreibung erreicht werden:

SELECT .... FROM .... WHERE `concatenated` LIKE BINARY '%SearchTerm%';
Nach dem Login kopieren

Dieser Ansatz ist leistungsfähiger als andere, da er Binärzeichenfolgen erzwingt Vergleich, wodurch es effizienter wird.

2. Verwenden von COLLATE:

Alternativ kann das Schlüsselwort COLLATE verwendet werden, um eine bestimmte Sortierregel anzugeben:

SELECT .... FROM .... WHERE `concatenated` like '%SearchTerm%' COLLATE utf8_bin;
Nach dem Login kopieren

Durch die Verwendung der utf8_bin-Sortierung wird ein Vergleich ohne Berücksichtigung der Groß- und Kleinschreibung erzwungen. Obwohl diese Methode mehr Flexibilität bietet, kann sie im Vergleich zum Binärstring-Ansatz geringfügige Auswirkungen auf die Leistung haben.

Das obige ist der detaillierte Inhalt vonWarum wird bei der Suche ohne Berücksichtigung der Groß-/Kleinschreibung in MySQL mit dem LIKE-Operator und der Codierung utf8_general_ci die Groß-/Kleinschreibung beachtet?. 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