MYSQL 查询数据库,表及字段的字符集
问题背景
字符集设置问题导致无法存储表情等特殊的符号,需要将utf8改为utf8mb4
-- 检查数据库字符集
SELECT SCHEMA_NAME, DEFAULT_CHARACTER_SET_NAME
FROM INFORMATION_SCHEMA.SCHEMATA
WHERE SCHEMA_NAME = 'your_database_name';
-- 检查表字符集
SELECT TABLE_NAME, TABLE_COLLATION
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = 'your_database_name';
-- 检查列字符集
SELECT COLUMN_NAME, CHARACTER_SET_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = 'your_database_name'
AND TABLE_NAME = 'your_table_name';
修改语句
修改数据库字符集:
ALTER DATABASE your_database_name CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci;
修改表字符集:
ALTER TABLE your_table_name CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
修改列字符集:
ALTER TABLE your_table_name MODIFY logisticsTrack VARCHAR(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
惜秦皇汉武,略输文采;唐宗宋祖,稍逊风骚。
一代天骄,成吉思汗,只识弯弓射大雕。
俱往矣,数风流人物,还看今朝

浙公网安备 33010602011771号