mysql中如何修改collation

52次阅读
没有评论

共计 1270 个字符,预计需要花费 4 分钟才能阅读完成。

今天丸趣 TV 小编给大家分享一下 mysql 中如何修改 collation 的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

方法:1、设置“my.cnf”文件,在 mysqld 下面添加“character_set_server= 修改后的内容”和“collation_server= 修改后的内容”;2、利用“systemctl restart mysqld”重启即可。

本教程操作环境:windows10 系统、mysql8.0.22 版本、Dell G3 电脑。

mysql 中怎么修改 collation

【问题报错】
在数据库插入数据时,varchar 类型的字段插入中文数据时报错。
报错原文:
ERROR 1366 (HY000): Incorrect string value:‘\xE8\xA5\xBF\xE5\xAE\x89’for column‘address’

【原因分析】
通过 show full columns from user_bean; 语句查看字段的 collation 属性,发现字段的 collation 属性值是 latin1_swedish_ci,说明字段默认为英语。未对汉语进行设置,所以当输入汉语时,mysql 会报错为“字符串的值不正确”。

【解决方法】

1、编辑 mysql 的配置文件 /etc/my.cnf,vi /etc/my.cnf

在 [mysqld] 下面加入两行补充

character_set_server=utf8
collation_server=utf8_general_ci

2、重启 Mysql 服务 systemctl restart mysqld

向数据库插入含中文的数据,成功!

注意:上面步骤可以解决以后创建表时字段的 collation 属性的问题,但前面已经创建的表字段的 collation 属性值并不会发生变化。
如果要改变之前已经创建好的表,怎么办?
方法 1:对原来的表进行修改,可以通过类似语句
alter table user_bean change address address varchar(255) character set utf8 collate utf8_general_ci not null;
方法 2:删除原来的表,重新再建。

【命令总结】

show full columns from  表名
vi /etc/my.cnf
character_set_server=utf8
collation_server=utf8_general_ci
systemctl restart mysqld
alter table  表名  change  要修改的字段   字段名   数据类型  character set utf8 collate utf8_general_ci  约束条件;

以上就是“mysql 中如何修改 collation”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,丸趣 TV 小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注丸趣 TV 行业资讯频道。

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-07-13发表,共计1270字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)