之前数据 很多都是utf8 不支持表情 零零碎碎改了一部分 总是有问题 需要全部修改为utf8mb4
相较原文章 修改了一点点 条件加了数据库和不为utf8mb4的筛选
#改变字段数据
SELECT TABLE_SCHEMA '数据库',TABLE_NAME '表',COLUMN_NAME '字段',CHARACTER_SET_NAME '原字符集',COLLATION_NAME '原排序规则',CONCAT('ALTER TABLE ', TABLE_SCHEMA,'.',TABLE_NAME, ' MODIFY COLUMN `',COLUMN_NAME,'` ',COLUMN_TYPE,' CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;') '修正SQL'
FROM information_schema.`COLUMNS`
WHERE CHARACTER_SET_NAME not rlike 'mb4' and TABLE_SCHEMA = '要修改的数据库名';
#改变表
表只需要设置排序规则 字符集会自动设置到对应的标准
SELECT TABLE_SCHEMA '数据库',TABLE_NAME '表',TABLE_COLLATION '原排序规则',CONCAT('ALTER TABLE ',TABLE_SCHEMA,'.', TABLE_NAME, ' COLLATE=utf8mb4_general_ci;') '修正SQL'
FROM information_schema.`TABLES`
WHERE TABLE_COLLATION not RLIKE 'mb4' and TABLE_SCHEMA = '要修改的数据库名';
我是用的navicat 还是比较方便的 把结果 '修正sql' 复制出来 执行就好
标签:NAME,utf8mb4,COLUMN,字符集,mysql,TABLE,SCHEMA From: https://www.cnblogs.com/niniko/p/16938419.html