首頁 >資料庫 >mysql教程 >mysql中怎麼修改collat​​ion

mysql中怎麼修改collat​​ion

WBOY
WBOY原創
2022-05-26 17:24:305045瀏覽

方法:1、設定「my.cnf」文件,在mysqld下面加入「character_set_server=修改後的內容」和「collat​​ion_server=修改後的內容」;2、利用「systemctl restart mysqld」重啟即可。

mysql中怎麼修改collat​​ion

本教學操作環境:windows10系統、mysql8.0.22版本、Dell G3電腦。

mysql中怎麼修改collat​​ion

【問題報錯】
在資料庫插入資料時,varchar 類型的欄位插入中文資料時報錯誤。
報錯原文:
ERROR 1366 (HY000): Incorrect string value: '\xE8\xA5\xBF\xE5\xAE\x89' for column 'address'

【原因分析】
透過show full columns from user_bean;語句查看欄位的collat​​ion屬性,發現欄位的collat​​ion屬性值是latin1_swedish_ci ,說明欄位預設為英文。未對漢語進行設置,所以當輸入漢語時,mysql會報錯為「字串的值不正確」。

【解決方法】

1、編輯mysql的設定檔/etc/my.cnfvi /etc/my .cnf

在[mysqld] 下面加入兩行補充

character_set_server=utf8
collation_server=utf8_general_ci

2、重啟Mysql服務systemctl restart mysqld

#向資料庫插入含中文的數據,成功!

注意:上面步驟可以解決以後建立表格時欄位的collat​​ion屬性的問題,但前面已經建立的表格欄位的collat​​ion屬性值不會改變。
如果要改變先前已經建立好的表,怎麼辦?
方法1:對原來的表格進行修改,可以透過類似語句
alter table user_bean change address address varchar(255) character set utf8 collat​​e 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影片教學

#

以上是mysql中怎麼修改collat​​ion的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn