mysql出現ERROR 1366 (HY000):的解決辦法


今天向新建的表中添加內容,出現以下錯誤:

mysql> INSERT tdb_goods (goods_name,goods_cate,brand_name,goods_price,is_show,is_saleoff) VALUES('R510VC 15.6英寸筆記本','筆記本','華碩','3399',DEFAULT,DEFAULT);
ERROR 1366 (HY000): Incorrect string value: '\xE8\x8B\xB1\xE5\xAF\xB8...' for column 'goods_name' at row 1

在網上找到了解決方法,親測有效。

出錯原因:檢查數據庫此字段的字符集與整理字符集是否與SQL語句傳遞數據的字符集相同;不相同則會引發MySQL1366錯誤。

解決方法:

#1.檢查數據表所有字段的狀態
mysql> SHOW FULL COLUMNS FROM tdb_goods;

#2.發現collatioin項非utf8,需要進行修改,使用如下的語句
mysql> alter table tdb_goods change goods_name name varchar(100) character set utf8 collate utf8_unicode_ci not null default '';
mysql> alter table tdb_goods change goods_cate cate varchar(40) character set utf8 collate utf8_unicode_ci not null default '';
mysql> alter table tdb_goods change brand_name bname varchar(40) character set utf8 collate utf8_unicode_ci not null default '';
#3.檢查數據表所有字段的狀態
mysql> SHOW FULL COLUMNS FROM tdb_goods;


將想要插入的內容插入以后,得到想要的表:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM