执行语句:
insert into dept (id, name, create_time, update_time) values(1,'学工部',now(),now()),(2,'教研部',now(),now()),(3,'咨询部',now(),now()), (4,'就业部',now(),now()),(5,'人事部',now(),now());
报错:
1.执行 SHOW VARIABLES LIKE "%char%";
命令,查看编码格式,发现,数据库是Latin1格式,而表自动继承了数据库的格式,所以二者都是Latin1格式,sql
语句默认utf-8格式,所以格式错误
如何解决:
-
查看当前表的默认字符集: 使用
SHOW VARIABLES LIKE 'character_set_database';
查询语句来查看当前数据库的默认字符集。确保当前的默认字符集是你想要的。 -
修改数据库的默认字符集: 如果当前数据库的默认字符集不是 UTF-8,你可以使用以下 SQL 语句来修改数据库的默认字符集:
sql 复制代码 ALTER DATABASE your_database_name CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
将
your_database_name
替换为你的数据库名称。这将修改数据库的默认字符集为 UTF-8。 -
验证修改是否成功: 执行完修改数据库字符集的命令后,你可以再次执行
SHOW VARIABLES LIKE 'character_set_database';
查询语句来验证数据库的默认字符集是否已经修改为 UTF-8。 -
创建新表: 如果你创建了新表,新表将会继承数据库的默认字符集。确保在创建新表时不需要显式指定字符集,新表将自动使用 UTF-8 字符集。