小编Bra*_*ell的帖子

转换字符集和外键约束

我正在尝试将 MySQL 数据库以及所有包含表的字符集和排序规则从utf8 / utf8_unicode_ci转换为utf8mb4 / utf8mb4_unicode_ci

我将我的数据库名称称为:MyDB
我将我的表称为:MyTable1 [、MyTable2MyTable3等]

我已经使用以下命令设置了数据库字符集和排序规则:

ALTER DATABASE MyDB CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
Run Code Online (Sandbox Code Playgroud)

然后我使用这个 SQL 脚本生成所有表命令:

SELECT CONCAT("ALTER TABLE ",TABLE_SCHEMA,".",TABLE_NAME," CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; ",
    "ALTER TABLE ",TABLE_SCHEMA,".",TABLE_NAME," CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; ") 
    AS alter_sql
FROM information_schema.TABLES
WHERE TABLE_SCHEMA = 'MyDB';
Run Code Online (Sandbox Code Playgroud)

此 SQL 生成了一个包含以下内容的表:

ALTER TABLE MyDB.MyTable1 CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
ALTER TABLE MyDB.MyTable1 CONVERT TO CHARACTER SET utf8mb4 …
Run Code Online (Sandbox Code Playgroud)

mysql foreign-key collation character-set

6
推荐指数
1
解决办法
6628
查看次数

标签 统计

character-set ×1

collation ×1

foreign-key ×1

mysql ×1