首页 > 数据库开发 > MySQL > MySQL执行脚本报错Data too long for column 'title' at row 1
2020
06-13

MySQL执行脚本报错Data too long for column 'title' at row 1

Data too long for column 'title' at row 1
上述错误的原因主要是编码不统一的问题。
那出现这个问题如何修复

1.查看一下MySQL的编码集,在MySQL控制台输入 show variables like 'char%';

我们目标应该是这样

+--------------------------+------------------------------------------------+
| Variable_name | Value |
+--------------------------+------------------------------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | E:\Software\MySQL\MySQL_Server\share\charsets\ |
+--------------------------+------------------------------------------------+

如果里面混杂了一些gbk,gb2312的话,就要修改my.ini,以实现mysql默认就是utf-8字符集
找到并编辑MySQL的配置文件my.ini(Windows下)或my.cnf(Linux下)

#在[client]段增加下面代码
default-character-set=utf8
#在[mysqld]段增加下面的代码
default-storage-engine=INNODB
character-set-server=utf8
collation-server=utf8_general_ci

3. 重启一下MySQL,再用第一步的命令查看下是否设成utf8了
4. 然后在插入之前要先加多一条语句 set names utf8;

比如

set names utf8;
INSERT INTO event_inf VALUES
(1,'2004-10-03','高兴的事情'),
(2,'2005-10-03','普通的事情'),
(3,'2004-10-04','疯狂Java筹备中'),
(4,'2005-10-05','开始疯狂Java')

这样子我就没出现Data too long for column 'title' at row 1的问题了,在select了一下看看表,确实已经插入了。

最后编辑:
作者:搬运工
这个作者貌似有点懒,什么都没有留下。

留下一个回复

你的email不会被公开。