So betreiben Sie eine MySql-Datenbank mit Gorm

So betreiben Sie eine MySql-Datenbank mit Gorm

1. Festlegen der Groß-/Kleinschreibung von Feldern in der Tabelle

Bei Verwendung einer Gorm-Abfrage können die Kontonamen A und a identisch sein, da MySQL standardmäßig nicht zwischen Groß- und Kleinschreibung unterscheidet.

1. Ursachen des Problems

MySQL unterscheidet unter Windows nicht zwischen Groß- und Kleinschreibung.
Die Groß-/Kleinschreibungsregeln für MySQL-Datenbanknamen, Tabellennamen, Spaltennamen und Aliase unter Linux lauten wie folgt:

1. Bei Datenbanknamen und Tabellennamen muss die Groß-/Kleinschreibung streng beachtet werden.
2. Beim Tabellenalias wird streng zwischen Groß- und Kleinschreibung unterschieden.
3. Bei Spaltennamen und Spaltenaliasnamen wird in allen Fällen die Groß-/Kleinschreibung nicht beachtet.
4. Auch bei Variablennamen muss die Groß-/Kleinschreibung streng beachtet werden.

MySQL berücksichtigt bei der Abfrage von Zeichenfolgen nicht die Groß-/Kleinschreibung. Beim Kompilieren von MySQL wird im Allgemeinen der ISO-8859-Zeichensatz als Standardzeichensatz verwendet. Dieser Zeichensatz berücksichtigt die Groß-/Kleinschreibung nicht. Daher verursacht die Konvertierung der Groß-/Kleinschreibung chinesischer codierter Zeichen während des Vergleichsvorgangs dieses Phänomen.

2. Sortierregeln in MySQL

utf8_bin speichert jedes Zeichen in einer Zeichenfolge als Binärdaten und unterscheidet zwischen Groß- und Kleinbuchstaben. utf8_genera_ci unterscheidet nicht zwischen Groß- und Kleinschreibung. ci ist die Abkürzung für case insensitive (Kassenschutz), was bedeutet, dass die Groß- und Kleinschreibung nicht berücksichtigt wird. utf8_general_cs unterscheidet zwischen Groß- und Kleinschreibung. cs ist die Abkürzung für „Case Sensitive“. ( Hinweis: In MySQL 5.6.10 wird utf8_genral_cs nicht unterstützt!!!

3. Lösung

1. Binäres Schlüsselwort

Ändern Sie einfach die SQL-Abfrageanweisung und fügen Sie das binäre Schlüsselwort vor dem abzufragenden Feld hinzu. (Nicht empfohlen)

1. Fügen Sie vor jeder Bedingung das Schlüsselwort „binary“ hinzu

Wählen Sie * vom Benutzer aus, wobei der binäre Benutzername = „admin“ und das binäre Passwort = „admin“ ist.

2. Umgeben Sie die Parameter mit binary('')

Wählen Sie * vom Benutzer aus, wobei der Benutzername wie binär('admin') und das Passwort wie binär('admin') ist.

2. Sortierungseigenschaften ändern

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.

1. Ändern Sie die Tabellenstruktur

ALTER TABLE TABLENAME MODIFY COLUMN COLUMNNAME VARCHAR(50) BINARY CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL;

2. Felder ändern (verwenden Sie gorm , um die Felder in der Tabelle so einzustellen, dass die Groß- und Kleinschreibung beachtet wird)

`gorm:"unique" sql:"Typ:VARCHAR(255) Zeichensatz utf8 COLLATE utf8_bin"`

Dies ist das Ende dieses Artikels über die Verwendung von Gorm zum Bedienen einer MySql-Datenbank. Weitere Informationen zur Verwendung von Gorm zum Bedienen einer MySql-Datenbank 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:
  • Golang Gorm – Grundlegende Verwendung von MySQL und Gorm
  • Implementierung des gORM-Vorgangs auf MySQL

<<:  Unterschied zwischen HTML ReadOnly und Enabled

>>:  CSS und JS für eine romantische Meteorschauer-Animation

Artikel empfehlen

Spezifische Methode zum Löschen des MySQL-Dienstes

MySQL meldet den folgenden Fehler Ich ging zu „Sy...

JavaScript zum Erzielen eines Bodeneffekts

In diesem Artikel wird der spezifische JavaScript...

Vue ruft die Computerkamera auf, um die Fotofunktion zu realisieren

In diesem Artikelbeispiel wird der spezifische Co...

Detailliertes Tutorial zur Installation von Docker auf CentOS 8

1. Frühere Versionen yum entfernen Docker Docker-...

Detaillierte Erklärung der Zeit- und Datumsverarbeitung von moment.js

Konvertierung des Zeitformats von Montag auf Sonn...

Tabellen in HTML aufteilen und zusammenführen (colspan, rowspan)

Der Code demonstriert die horizontale Zusammenfüh...

Implementierung der gemeinsamen Nutzung von Daten zwischen Docker Volume-Containern

Was ist Volumen? „Volume“ bedeutet auf Englisch K...

IE6 BUG und Fix ist eine vorbeugende Strategie

Originalartikel: Ultimatives IE6-Cheatsheet: So b...

Implementierung der Docker-Bereitstellung des Nuxt.js-Projekts

Offizielle Docker-Dokumentation: https://docs.doc...

Detaillierte Erläuterung der MySQL-Fremdschlüsseleinschränkungen

Amtliche Dokumentation: https://dev.mysql.com/doc...