mysql字符集修改了没变

MySQL字符集是数据库中一个非常重要的设置,如果没有设置好,可能会导致乱码、错误查询结果等问题。在实际使用中,我们可能需要修改MySQL字符集,但是有时候发现修改了字符集之后,却并没有发生变化。下面我们来介绍一下可能导致字符集修改无效的原因。

首先,如果我们在修改字符集之后继续使用旧的连接,那么修改是不会生效的。因为MySQL连接的时候会根据初始字符集来初始化一些参数,如果连接已经建立,再去修改字符集是不会起作用的。我们需要重新连接MySQL才可以。

# 修改字符集
ALTER DATABASE mydb CHARACTER SET utf8;
# 连接MySQL
mysql -u root -p
# 执行查询操作
SELECT * FROM mytable; 

其次,如果我们在修改字符集之后没有正确的转换表和字段的字符集,那么也会导致修改无效。因为表和字段的字符集是在创建的时候确定的,所以如果我们要修改字符集,需要先将表和字段的字符集进行修改。

# 修改表字符集
ALTER TABLE mytable CONVERT TO CHARACTER SET utf8;
# 修改字段字符集
ALTER TABLE mytable MODIFY COLUMN mycolumn VARCHAR(100) CHARACTER SET utf8; 

最后,如果我们修改字符集的语句不正确,也会导致修改无效。在修改字符集时,一定要注意语法的正确性和排查修改失败的原因,避免浪费时间。

通过以上三个方面的排查,我们就可以解决MySQL字符集修改无效的问题了。

相关文章

在正式开始之前,我们先来看下 MySQL 服务器的配置和版本号信...
> [合辑地址:MySQL全面瓦解](https://www.cnblogs.c...
物理服务机的CPU、内存、存储设备、连接数等资源有限,某个时...
1 回顾 上一节我们详细讲解了如何对数据库进行分区操作,包括...
navicat查看某个表的所有字段的详细信息 navicat设计表只能一...
文章浏览阅读4.3k次。转载请把头部出处链接和尾部二维码一起...