共計 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 行業資訊頻道。