Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak naprawić nieprawidłową wartość ciągu w MySQL?

Czasami możesz otrzymać błąd „Nieprawidłowa wartość ciągu” podczas próby wstawienia danych do tabeli MySQL lub importowania danych zewnętrznych do bazy danych MySQL. W tym artykule przyjrzymy się, jak naprawić nieprawidłową wartość ciągu w MySQL.


Jak naprawić nieprawidłową wartość ciągu w MySQL

Jest to powszechny błąd, gdy próbujesz wstawić wartość do tabeli MySQL, która nie ma kodowania UTF8 ani zestawu znaków.


1. Sprawdź domyślny zestaw znaków

Zaloguj się do MySQL i uruchom następujące polecenie, aby sprawdzić domyślną nazwę zestawu znaków swojej bazy danych. Zastąp database_name nazwą swojej bazy danych.

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

Jeśli twoja baza danych nie ma kodowania UTF8, musisz zmienić ją na UTF8. Wcześniej musimy wykonać kopię zapasową naszej bazy danych.


2. Kopia zapasowa bazy danych MySQL

Wyloguj się z MySQL i uruchom następujące polecenie, aby wykonać kopię zapasową bazy danych MySQL. Zastąp nazwa_użytkownika , hasło_hasło i nazwa_bazy z nazwą użytkownika, hasłem i nazwami bazy danych.

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


3. Zmień zestaw znaków w tabelach

Uruchom następujące polecenie, aby zmienić zestaw znaków wszystkich tabel w bazie danych na UTF8. Zastąp database_name nazwą swojej bazy danych

$ 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 pozwala na zmianę zestawu znaków tylko jednej tabeli na raz. Uruchamianie oddzielnych poleceń w celu zmiany zestawu znaków każdej tabeli może być żmudne. Powyższe polecenie wyświetla listę wszystkich tabel w bazie danych i automatycznie konwertuje ich zestaw znaków na UTF8.


4. Zmień zestaw znaków bazy danych

Zaloguj się do MySQL i uruchom następujące polecenie, aby zmienić zestaw znaków bazy danych na UTF8. Zastąp database_name nazwą bazy danych.

mysql> ALTER DATABASE database_name CHARACTER SET utf8 COLLATE utf8_general_ci;

Teraz, jeśli wstawisz dane do bazy danych MySQL, nie powinno to dawać błędów. Ubiq ułatwia wizualizację danych i monitorowanie ich w pulpitach nawigacyjnych w czasie rzeczywistym. Wypróbuj Ubiq za darmo.

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Błąd MySQL 1241:Operand powinien zawierać 1 kolumnę (kolumny)

  2. Wysoka dostępność przy niewielkim budżecie — wdrożenie minimalnego dwuwęzłowego klastra MySQL Galera

  3. Dodaj klucz obcy do istniejącej tabeli

  4. Włącz rejestrowanie powolnych zapytań (dziennik powolnych zapytań) w bazie danych MySQL

  5. Obliczanie średniej ruchomej MySQL?