Frage Als ich kürzlich ein praktisches Projekt mit dem SSH-Framework abschloss, stieß ich auf einen unerklärlichen Fehler, der mich lange störte. Schließlich habe ich ihn gelöst und wie folgt aufgezeichnet.
...EXM? ? ? Ist das ok? Nun, ich sollte besser die Ursache dieses Fehlers herausfinden. Dann habe ich verschiedene Verfahren zur Fehlerbehebung ausprobiert, konnte jedoch keine Probleme finden. Schließlich dachte ich darüber nach, SQL-Anweisungen zu schreiben, um die Datenbank direkt statt über HQL abzufragen, und ich fand das Problem: Wählen Sie * vom Benutzer, wobei Benutzername = „admin“ und Passwort = „admin“ ist. Wählen Sie * vom Benutzer, wobei Benutzername = „Admin“ und Passwort = „admin“ ist. Wenn Sie die beiden oben genannten SQL-Anweisungen verwenden, um die Tabelle separat abzufragen, sind die Ergebnisse überraschend identisch! ……! ! Gehen Sie zur Suchmaschine und suchen Sie nach den Schlüsselwörtern: MySQL-Abfragefall, und Sie werden das Problem finden! Bei MySQL-Abfragen wird die Groß-/Kleinschreibung nicht beachtet. Das hat mich wirklich schockiert. Obwohl ich wusste, dass bei Schlüsselwörtern im Allgemeinen nicht zwischen Groß- und Kleinschreibung unterschieden wird, hätte ich nicht erwartet, dass selbst bei den abzufragenden Parametern dies nicht der Fall ist! ! Versuchen Sie die folgende SQL-Anweisung erneut. Das Ergebnis ist immer noch dasselbe. Wählen Sie * vom Benutzer, wobei Benutzername = „ADMIN“ und Passwort = „admin“ ist. Lösung Ich habe im Internet nach einem entsprechenden Artikel gesucht, der gut geschrieben ist. Ich werde die Artikelerklärung hier einfügen: Die Standard-Zeichensuchstrategie von MySQL ist: utf8_general_ci, was bedeutet, dass die Groß-/Kleinschreibung nicht beachtet wird; utf8_general_cs bedeutet, dass die Groß-/Kleinschreibung beachtet wird; utf8_bin bedeutet binärer Vergleich, bei dem ebenfalls die Groß-/Kleinschreibung beachtet wird. (Hinweis: In MySQL 5.6.10 wird utf8_genral_cs nicht unterstützt!!! ! ! !) Wenn Sie eine Tabelle erstellen, legen Sie die Collate-Eigenschaft der Tabelle direkt auf utf8_general_cs oder utf8_bin fest. Wenn die Tabelle bereits erstellt wurde, ändern Sie die Collation-Eigenschaft des Felds direkt auf utf8_general_cs oder utf8_bin. -- Tabelle erstellen: CREATE TABLE testt( ID INT Primärschlüssel, Name VARCHAR (32) NICHT NULL )ENGINE = INNODB COLLATE = utf8_bin; - Ändern Sie die Collation-Eigenschaft der Tabellenstruktur ALTER TABLE TABLENAME MODIFY COLUMN COLUMNNAME VARCHAR(50) BINARY CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL; Ändern Sie einfach die SQL-Anweisung und fügen Sie das Schlüsselwort - Fügen Sie vor jeder Bedingung das Schlüsselwort „binär“ hinzu: „select * from user“, wobei „binärer Benutzername = ‚admin‘ und „binäres Passwort = ‚admin‘“ ist. -- Umgeben Sie die Parameter mit binary('') select * from user, wobei der Benutzername wie binary('admin') und das Passwort wie binary('admin'); lautet.
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. Wenn Sie mehr darüber erfahren möchten, schauen Sie sich bitte die folgenden Links an Das könnte Sie auch interessieren:
|
<<: Detaillierte Anweisungen zur Installation von Jenkins auf Ubuntu 16.04
>>: Vue+SSH-Framework zur Realisierung von Online-Chat
In diesem Abschnitt beschreibt der Autor die spez...
1. Effekt-HTML senden <div id="senden-btn...
Überblick Was ist Hafen? Das englische Wort bedeu...
Die Indizierung ähnelt dem Erstellen bibliografis...
In diesem Artikel wird der spezifische Code des V...
Vorwort Die Verwendung von CSS zum Generieren gep...
Notieren Sie die Installations- und Konfiguration...
Wenn Programmierer täglich TypeScript-/JavaScript...
Jeder ist wahrscheinlich mit dem Auswahl-Dropdown...
Denken Sie unbedingt daran, Ihre Daten zu sichern...
Das Div+CSS-Layout zur Erzielung einer 2-Enden-Au...
In diesem Artikelbeispiel wird der spezifische Co...
Dieser Artikel beschreibt anhand eines Beispiels,...
Wenn die Position absolut ist, wird der Prozentsa...
Vorwort: Manchmal wird die mit MySQL verbundene S...