MySQL 错误:“Data too long for column” 是什么意思?


当您插入的数据长度超过列所能存储的长度时,就会出现“Data too long for column”错误。

例如 - 如果您使用的是 varchar(6) 数据类型,这意味着它只能存储 6 个字符。因此,如果您输入超过 6 个字符,就会出现错误。

让我们创建一个表来理解这个错误。创建表的查询如下所示:

mysql> create table DataToolongDemo
  −> (
  −> Name varchar(10)
   −> );
Query OK, 0 rows affected (0.55 sec)

上面,我们成功创建了一个表。我们设置了一个名为“Name”的字段,其类型为“varchar(10)。现在,如果我们输入超过 10 个字符,就会出现错误。

错误如下所示:

mysql> insert into DataToolongDemo values('Carol Taylor');
ERROR 1406 (22001): Data too long for column 'Name' at row 1

要解决上述错误,您可以将类型设置为 longtext。以下查询将类型从“varchar”更改为 longtext:

mysql> alter table DataToolongDemo change Name Name longtext;
Query OK, 0 rows affected (2.22 sec)
Records: 0 Duplicates: 0 Warnings: 0

现在,如果您插入相同的记录,就不会出现错误了:

mysql> insert into DataToolongDemo values('Carol Taylor');
Query OK, 1 row affected (0.11 sec)

使用 select 语句显示表中的所有记录。查询如下所示:

mysql> select *from DataToolongDemo;

以下是输出:

+--------------+
| Name         |
+--------------+
| Carol Taylor |
+--------------+
1 row in set (0.00 sec)

更新于: 2019-07-30

20K+ 浏览量

开启您的职业生涯

通过完成课程获得认证

开始学习
广告