Mysql
 sql >> база данни >  >> RDS >> Mysql

Как да коригирате неправилна стойност на низ в MySQL

Понякога може да получите грешка „Неправилна стойност на низа“, докато се опитвате да вмъкнете данни в MySQL таблица или да импортирате външни данни в MySQL база данни. В тази статия ще разгледаме как да коригираме неправилна стойност на низ в MySQL.


Как да коригирам неправилна стойност на низ в MySQL

Това е често срещана грешка, когато се опитвате да вмъкнете стойност в MySQL таблица, която няма UTF8 кодиране или набор от знаци.


1. Проверете Набор от символи по подразбиране

Влезте в MySQL и изпълнете следната команда, за да проверите името на набора от символи по подразбиране на вашата база данни. Заменете database_name с името на вашата база данни.

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

Ако вашата база данни няма UTF8 кодиране, тогава трябва да я промените на UTF8. Преди това трябва да направим резервно копие на нашата база данни.


2. Архивиране на MySQL база данни

Излезте от MySQL и изпълнете следната команда, за да направите резервно копие на вашата MySQL база данни. Заменете user_name , парола и име_на_база_данни с вашето потребителско име, парола и имена на база данни съответно.

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


3. Промяна на набора от таблици

Изпълнете следната команда, за да промените набора от знаци на всички таблици във вашата база данни на UTF8. Заменете database_name с името на вашата база данни

$ 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 ви позволява да променяте набора от символи само на една таблица в даден момент. Може да е досадно да изпълнявате отделни команди за промяна на набора от символи на всяка таблица. Горната команда изброява всички таблици в база данни и автоматично преобразува техния набор от знаци в UTF8.


4. Промяна на набора от знаци в базата данни

Влезте в MySQL и изпълнете следната команда, за да промените набора от знаци на базата данни на UTF8. Заменете базата_име с име на базата данни.

mysql> ALTER DATABASE database_name CHARACTER SET utf8 COLLATE utf8_general_ci;

Сега, ако вмъкнете данни в MySQL база данни, тя не трябва да дава грешки. Ubiq улеснява визуализирането на данни и наблюдението им в табла за управление в реално време. Опитайте Ubiq безплатно.

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Извикване на PHP скрипт от MySQL тригер

  2. MAKEDATE() Примери – MySQL

  3. Как да използвам mysql JOIN без условие ON?

  4. Как да съхранявате Emoji символ в MySQL база данни

  5. Поправете „ГРЕШКА 3942 (HY000):Всеки ред от клауза VALUES трябва да има поне една колона“, когато използвате инструкцията VALUES в MySQL