日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql insert报错_mysql数据库使用insert语句插入中文数据报错

發布時間:2025/3/15 数据库 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql insert报错_mysql数据库使用insert语句插入中文数据报错 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在mysql的命令行模式中,通過insert語句插入中文數據的時候報錯,類似于下面這樣:

Incorrect string value: '\xE7\x8F' for column 'name' at row 1

造成這個錯誤通常是由于創建數據表的時候使用了不正確的編碼格式,可以使用如下命令查看操作的目標數據表的編碼格式。

SHOW CREATE TABLE 表名;

通過結果就可以看到目標表的目標字段對應的編碼格式,我們只需要把該列的編碼格式轉化為utf8即可。

ALTER TABLE 表名 MODIFY 列名 數據類型 CHARACTER SET utf8 非空約束

例如:ALTER TABLE student MODIFY name VARCHAR(20) CHARACTER SET utf8 NOT NULL

當然這只是一個臨時的解決辦法,更近一步的解決辦法是修改數據表的編碼,防止以后在使用命令添加數據列的時候,使用的仍是數據表的編碼。

ALTER TABLE 表名 DEFAULT CHARSET utf8;

然后這還不是最終的解決辦法,我們還可以通過修改數據庫的編碼方式來影響新創建的數據表的編碼方式,進而影響數據列的編碼方式。

ALTER DATABASE 數據庫名 DEFAULT CHARACTER SET utf8;

但是這需要我們每次在創建數據庫的時候都必須指定編碼方式,要想一勞永逸,我們可以直接去修改mysql的配置文件,使用如下命令:

vim /etc/mysql/mysql.cnf.d/mysqld.cnf

添加如下配置

[mysqld]

character-set-server=utf8

保存之后重新啟動mysql服務即可,命令如下(以Ubuntu16.04為例):

systemctl restart mysql.service

注意在設置編碼格式的時候,使用如下命令查看支持的編碼格式:

SHOW VARIABLES LIKE 'char%';

總結

以上是生活随笔為你收集整理的mysql insert报错_mysql数据库使用insert语句插入中文数据报错的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。