Loading... ## 前言 今天给自建的edusoho网课系统添加图文课程的时候,一直提示系统错误。经过一顿摸索最后发现是数据库的问题。mysql提示:Data too long for column 'content' at row 1,也就是字段过长。 content字段用的是text格式,按理说不会出现数据太长的问题。 又在网上搜了好久,有说选择“longtext的,不过我的这个版本的没有。 最后找到一个好的方法,就是修改sql_mode。 ## 实践 1. 登陆数据库,查看当前的sql_mode: ``` mysql> SELECT @@global.sql_mode; +--------------------------------------------+ | @@global.sql_mode | +--------------------------------------------+ | ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_Z| |ERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_| |BY_ZERO,NO_ENGINE_SUBSTITUTION | +--------------------------------------------+ 1 row in set (0.00 sec) ``` 2. 重新赋值,或直接留空: ``` //重新修改值 mysql> SET @@global.sql_mode= 'NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'; Query OK, 0 rows affected (0.00 sec) //或直接留空 mysql> SET @@global.sql_mode= ''; Query OK, 0 rows affected (0.00 sec) ``` 1. 如果重启之后又恢复,需要直接从配置入手 修改mysql的配置文件my.cnf或者mysqld.cnf(我的是后者) 在合适的位置添加下面这段代码即可: ``` [mysqld] sql_mode = NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION ``` ## 结语 对数据库修改了配置或者更改了配置文件之后需要重启才生效。 至此,不出意外的话,错误已经修复了。 最后修改:2024 年 01 月 24 日 © 允许规范转载 赞 1 如果觉得我的文章对你有用,请随意赞赏