2017-02-27 14 views
0

Ich habe eine Tabelle, die einige ihrer Spalten Kollation von utf8_bin hat. Aber ich muss sie in utf8_unicode_ci ändern. Ich weiß, diese Abfrage für sie tun:ändern Sie alle vorhandenen Kollatierung der Spalten

ALTER TABLE `shn_sho_cities` CHANGE `city_name` `city_name` VARCHAR(100) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL ; 

aber wie ich alle Spalten ändern möchten, die utf8_bin haben stattdessen eine Abfrage für jede Spalte zu schreiben. Gibt es einen Weg, wie ich das tun könnte?

+0

Schauen Sie sich die Syntax der 'ALTER TABLE ... VERWANDELT ...' –

Antwort

1

Der folgende Code wird die erforderlichen Abfragen generieren Ihre Sortierungen zu verändern, zu utf8mb4 mit 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" 
Verwandte Themen