由于创建之初忘记修改后字符集,导致数据库导入之后字符集为latin1,再插入汉字时,不可插入。
#批量修改表字符集
SELECT
CONCAT(
'ALTER TABLE ',
TABLE_NAME,
' default character set utf8;'
)
FROM
information_schema.`TABLES`
WHERE
TABLE_SCHEMA = 'cwb';
#批量修改字段字符集
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 COLLATION_NAME RLIKE 'latin1';