SQLSTATE[22001]: String data, right truncated: 1406 Data too long for column 'content' at row 1
百度翻译:SQLSTATE[22001]:字符串数据,右截断:1406数据对于第1行的列“content”太长
原因是:插入的该字段的数据过长
问题分析
1、字段长度问题
2、mysql配置问题
方法1:
sql 查询
SELECT @@sql_mode;
返回结果
ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
修改
SET GLOBAL sql_mode = 'ONLY_FULL_GROUP_BY,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';
这种方法,如果重启mysql,就会失效。
方法2:
找到my.ini,在[mysqld]最后面添加如下内容
sql_mode="ONLY_FULL_GROUP_BY,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION"
重启mysql后,问题解决。
来源地址:https://blog.csdn.net/baidu_23058775/article/details/129638474