开发者社区> 问答> 正文

mysql数据插入失败报错too long

这个错误是什么意思?

mysql> desc tester;
+-------+------------+------+-----+---------+-------+
| Field | Type       | Null | Key | Default | Extra |
+-------+------------+------+-----+---------+-------+
| name  | varchar(3) | YES  |     | NULL    |       |
+-------+------------+------+-----+---------+-------+
1 row in set (0.00 sec)

mysql> insert into tester values ("abcd");
ERROR 1406 (22001): Data too long for column 'name' at row 1

展开
收起
道月芬1 2021-10-11 18:59:23 3791 0
2 条回答
写回答
取消 提交回答
  • name字段只有3个长度varchar(3),你存了4个字符。存3个以内就可以了

    2021-10-12 09:47:54
    赞同 展开评论 打赏
  • 下一站是幸福

    错误的解决办法

    在mysql命令行窗口中:show variables like '%char%';

    +--------------------------+----------------------------------------------------

    -----+

    | Variable_name | Value

    |

    +--------------------------+----------------------------------------------------

    -----+

    | character_set_client | utf8

    |

    | character_set_connection | utf8

    |

    | character_set_database | utf8

    |

    | character_set_results | utf8

    |

    | character_set_server | utf8

    |

    | character_set_system | utf8

    |

    | character_sets_dir | C:/Program Files/MySQL/MySQL Server 5.0/share/chars。。。。。

    执行这两条语句,将mysql客户端编码设置为gbk,同时也将结果集results的编码设置为gbk防止乱码

    set character_set_client=gbk;

    set character_set_results=gbk;

    2021-10-11 19:31:01
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
One Box: 解读事务与分析一体化数据库 HybridDB for MySQL 立即下载
One Box:解读事务与分析一体化数据库HybridDB for MySQL 立即下载
如何支撑HTAP场景-HybridDB for MySQL系统架构和技术演进 立即下载

相关镜像