我有一个表,其中一些列具有utf8_bin的排序规则。但我需要将它们更改为utf8_unicode_ci。 我知道这个查询:
ALTER TABLE `shn_sho_cities` CHANGE `city_name` `city_name` VARCHAR( 100 ) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL ;
但是我想要更改所有具有utf8_bin的列,而不是为每列编写查询。 有什么方法可以做到这一点吗?
答案 0 :(得分:1)
以下代码将生成所需的查询以更改您的归类,utf8mb4
utf8mb4_unicode_ci
SELECT CONCAT('ALTER TABLE `', TABLE_NAME,'` CONVERT TO CHARACTER SET
utf8mb4 COLLATE utf8mb4_unicode_ci;') AS mySQL
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA= "YOU-DB-NAME"
AND TABLE_TYPE="BASE TABLE"