Mysql
 sql >> Database >  >> RDS >> Mysql

Come correggere il valore di stringa errato in MySQL

A volte potresti ricevere l'errore "Valore stringa errato" durante il tentativo di inserire dati nella tabella MySQL o importare dati esterni nel database MySQL. In questo articolo, vedremo come correggere il valore di stringa errato in MySQL.


Come correggere il valore di stringa errato in MySQL

Questo è un errore comune quando si tenta di inserire un valore in una tabella MySQL che non ha una codifica UTF8 o un set di caratteri.


1. Controlla il set di caratteri predefinito

Accedi a MySQL ed esegui il comando seguente per controllare il nome del set di caratteri predefinito del tuo database. Sostituisci database_name con il nome del tuo database.

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

Se il tuo database non ha la codifica UTF8, devi cambiarlo in UTF8. Prima di ciò, dobbiamo eseguire un backup del nostro database.


2. Backup del database MySQL

Esci da MySQL ed esegui il comando seguente per eseguire il backup del database MySQL. Sostituisci nome_utente , pass_word e nome_database rispettivamente con nome utente, password e nome del database.

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


3. Cambia il set di caratteri delle tabelle

Esegui il comando seguente per modificare il set di caratteri di tutte le tabelle nel database in UTF8. Sostituisci database_name con il nome del tuo database

$ 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 ti consente di modificare il set di caratteri di una sola tabella alla volta. Può essere noioso eseguire comandi separati per modificare il set di caratteri di ciascuna tabella. Il comando precedente elenca tutte le tabelle in un database e converte il loro set di caratteri in UTF8 uno per uno, automaticamente.


4. Modifica il set di caratteri del database

Accedi a MySQL ed esegui il comando seguente per modificare il set di caratteri del database in UTF8. Sostituisci database_name con il nome del database.

mysql> ALTER DATABASE database_name CHARACTER SET utf8 COLLATE utf8_general_ci;

Ora se inserisci dati nel database MySQL, non dovrebbe dare errori. Ubiq semplifica la visualizzazione dei dati e il monitoraggio in dashboard in tempo reale. Prova Ubiq gratuitamente.