2017-02-27 19 views
0

我有一个表,其中一些列的排序规则为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

退房的'ALTER TABLE语法...转换为...' –

回答

1

将下面的代码生成所需的查询,更改排序规则,以utf8mb4utf8mb4_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" 
相关问题