Mysql
 sql >> Datenbank >  >> RDS >> Mysql

So beheben Sie einen falschen Zeichenfolgenwert in MySQL

Manchmal erhalten Sie beim Versuch, Daten in die MySQL-Tabelle einzufügen oder externe Daten in die MySQL-Datenbank zu importieren, den Fehler „Falscher Zeichenfolgenwert“. In diesem Artikel sehen wir uns an, wie man einen falschen String-Wert in MySQL behebt.


So beheben Sie einen falschen Zeichenfolgenwert in MySQL

Dies ist ein häufiger Fehler, wenn Sie versuchen, einen Wert in eine MySQL-Tabelle einzufügen, die keine UTF8-Kodierung oder keinen Zeichensatz hat.


1. Überprüfen Sie den Standardzeichensatz

Melden Sie sich bei MySQL an und führen Sie den folgenden Befehl aus, um den Standardzeichensatznamen Ihrer Datenbank zu überprüfen. Ersetzen Sie database_name durch Ihren Datenbanknamen.

mysql> SELECT default_character_set_name FROM information_schema.SCHEMATA S WHERE schema_name = "database_name";

Wenn Ihre Datenbank keine UTF8-Codierung hat, müssen Sie sie in UTF8 ändern. Davor müssen wir ein Backup unserer Datenbank erstellen.


2. MySQL-Datenbank sichern

Melden Sie sich von MySQL ab und führen Sie den folgenden Befehl aus, um eine Sicherungskopie Ihrer MySQL-Datenbank zu erstellen. Ersetzen Sie Benutzername , Passwort und Datenbankname mit Ihrem Benutzernamen, Passwort bzw. Datenbanknamen.

$ sudo mysql -u user_name -p pass_word database_name > backup.sql


3. Zeichensatz von Tabellen ändern

Führen Sie den folgenden Befehl aus, um den Zeichensatz aller Tabellen in Ihrer Datenbank in UTF8 zu ändern. Ersetzen Sie database_name durch Ihren Datenbanknamen

$ sudo mysql --database=database_name -B -N -e "SHOW TABLES" | awk '{print "SET foreign_key_checks = 0; ALTER TABLE", $1, "CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci; SET foreign_key_checks = 1; "}' | mysql --database=database_name

MySQL erlaubt es Ihnen, den Zeichensatz jeweils nur einer Tabelle zu ändern. Es kann mühsam sein, separate Befehle auszuführen, um den Zeichensatz jeder Tabelle zu ändern. Der obige Befehl listet alle Tabellen in einer Datenbank auf und wandelt ihren Zeichensatz nacheinander automatisch in UTF8 um.


4. Zeichensatz der Datenbank ändern

Melden Sie sich bei MySQL an und führen Sie den folgenden Befehl aus, um den Zeichensatz der Datenbank in UTF8 zu ändern. Datenbankname durch Datenbankname ersetzen.

mysql> ALTER DATABASE database_name CHARACTER SET utf8 COLLATE utf8_general_ci;

Wenn Sie nun Daten in die MySQL-Datenbank einfügen, sollten keine Fehler auftreten. Ubiq macht es einfach, Daten zu visualisieren und sie in Echtzeit-Dashboards zu überwachen. Testen Sie Ubiq kostenlos.