您需要为每个表执行一个alter table语句。该语句将采用以下形式:
ALTER TABLE tbl_name[[DEFAULT] CHARACTER SET charset_name][COLLATE collation_name]
现在,要获取数据库中的所有表,您将需要执行以下查询:
SELECt * FROM INFORMATION_SCHEMA.TABLESWHERe TABLE_SCHEMA="YourDatabaseName"AND TABLE_TYPE="base TABLE";
因此,现在让MySQL为您编写代码:
SELECt CONCAt("ALTER TABLE ", TABLE_SCHEMA, '.', TABLE_NAME," COLLATE your_collation_name_here;") AS ExecuteTheStringFROM INFORMATION_SCHEMA.TABLESWHERe TABLE_SCHEMA="YourDatabaseName"AND TABLE_TYPE="base TABLE";您可以复制结果并执行它们。我还没有测试语法,但是您应该可以弄清楚其余的语法。认为这是一个小练习。
希望有帮助!



