为了账号安全,请及时绑定邮箱和手机立即绑定

ERROR 1406 (22001): Data too long for column 'goods_name' at row 1

 create table if not exists tdb_goods(
     goods_id smallint unsigned primary key auto_increment,
     goods_name varchar(400) not null,
     goods_cate varchar(40) not null,
     brand_name varchar(40) not null,
     goods_price decimal(15,3) unsigned not null default 0,
     is_show boolean not null default 1,
     is_saleoff boolean not null default 0
     );
     
     INSERT tdb_goods (goods_name,goods_cate,brand_name,goods_price,is_show,is_saleoff) VALUES('R510VC 15.6英寸笔记本','笔记本','华硕','3399',DEFAULT,DEFAULT);

真是奇怪了,为什么一直有这个问题呢?

正在回答

2 回答

运行SHOW CREATE TABLE tdb_goods;

看下你的数据表默认编码,最后一句DEFAULT CHARSET是不是utf8

如果不是,运行ALTER TABLE tdb_goods SET DEFAULT CHARSET utf8;将数据表的默认编码格式修改为utf8

0 回复 有任何疑惑可以回复我~
#1

qq_云端_8

层主的那个修改编码的sql 语句好像有些问题 正确的是 ALTER TABLE tdb_goods DEFAULT CHARSET utf8; 没有中间那个set
2017-09-15 回复 有任何疑惑可以回复我~
#2

GCYangXiXi 回复 qq_云端_8

多谢指正
2017-09-19 回复 有任何疑惑可以回复我~
#3

qq_云端_8 回复 GCYangXiXi

不客气 互相学习,互相帮助!
2017-09-20 回复 有任何疑惑可以回复我~

你的goods_name 被你定义成了VARCHAR(400),400太长了超出范围,你改40肯定没有问题。

0 回复 有任何疑惑可以回复我~
#1

慕粉1050248725 提问者

试过的,不行
2017-07-03 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
与MySQL的零距离接触
  • 参与学习       396886    人
  • 解答问题       3353    个

本课程涵盖全部MySQL数据库的基础,学习MySQL数据库的基础知识

进入课程

ERROR 1406 (22001): Data too long for column 'goods_name' at row 1

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信