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

Как да конвертирам всички таблици в базата данни в едно съпоставяне?

Трябва да изпълните оператор alter table за всяка таблица. Изявлението ще следва следната форма:

ALTER TABLE tbl_name
[[DEFAULT] CHARACTER SET charset_name]
[COLLATE collation_name]

Сега, за да получите всички таблици в базата данни, ще трябва да изпълните следната заявка:

SELECT * 
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA="YourDataBaseName"
AND TABLE_TYPE="BASE TABLE";

Така че сега оставете MySQL да напише кода вместо вас:

SELECT CONCAT("ALTER TABLE ", TABLE_SCHEMA, '.', TABLE_NAME," COLLATE your_collation_name_here;") AS    ExecuteTheString
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA="YourDatabaseName"
AND TABLE_TYPE="BASE TABLE";

Можете да копирате резултатите и да ги изпълните. Не съм тествал синтаксиса, но трябва да можете да разберете останалото. Мислете за това като за малко упражнение.

Надявам се това да помогне!



  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. Вземете обратно заявка от подготвеното изявление за PDO

  3. OSX ld:библиотеката не е намерена за -lssl

  4. Как да добавя общ ред в MySQL

  5. Грешка при използване освен в заявка