mysql 1366 utf8_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;
將想要插入的內容插入以后,得到想要的表:
總結
以上是生活随笔為你收集整理的mysql 1366 utf8_mysql出现ERROR 1366 (HY000):的解决办法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ubuntu mysql 多端口_ubu
- 下一篇: 阿里云 apt-get mysql_阿里