注意项:
1)自行调整 TABLE_SCHEMA = ‘datatables’
2)避免再次出现这种问题,建库的时候,设置好数据库编码和排序规则编码,创建表的时候,检查建表语句,确保语句中的编码跟数据库编码一致。
SELECT
CONCAT(
'ALTER TABLE ',
table_name,
' MODIFY ',
column_name,
' ',
DATA_TYPE,
'(',
CHARACTER_MAXIMUM_LENGTH,
') CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci',
( CASE WHEN IS_NULLABLE = 'NO' THEN ' NOT NULL' ELSE '' END ),
';'
)
FROM
information_schema.COLUMNS
WHERE
TABLE_SCHEMA = 'datatables'
AND COLLATION_NAME != 'utf8mb4_general_ci'
AND COLLATION_name IS NOT NULL
需要转换排序规则编码的字段:
说明:按自己的情况调整 CHARACTER 和COLLATE 的值。
生成的语句复制出来执行就ok了。