AI摘要:在使用Typecho插件时,可能会遇到MySQL Error "Incorrect integer value" for column 'name' at row 1的问题。这主要是因为MySQL 5.6版本中,sql_mode的默认值被设置为NO_ENGINE_SUBSTITUTION,导致程序SQL语法不严谨而报错。解决方法有两种:1. 使用SET命令,在MySQL命令行中输入SET GLOBAL sql_mode = ''; 2. 修改my.cnf文件,在文件中添加sql_mode=NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION,然后重启MySQL服务。
Powered by AISummary and MoonShot Kimi Chat.
在使用typecho的插件时遇到了数据库的错误,通过日志回溯之后发现错误原因是MySQL Error "Incorrect integer value" for column '' at row 1,仔细查了一下。
主要的坑在于sql_mode的值,MySQL 5.5中sql_mode默认值为'', MySQL 5.6(貌似是为了增加安全性),将sql默认值定为NO_ENGINE_SUBSTITUTION,于是原来的程序sql语法不严谨就会出现报错。
处理的方法有两种:
一种是使用SET命令,在MySQL的命令行中输入
mysql> SET GLOBAL sql_mode = '';
坏处似乎是每次重新启动都需要重新设置。
另一种是修改my.cnf文件,在my.cnf配置文件中添加
sql_mode=NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
保存文件,重启MySQL服务。
参考资料
https://dev.mysql.com/doc/refman/5.5/en/sql-mode.html
https://dev.mysql.com/doc/refman/5.6/en/sql-mode.html
https://www.devside.net/wamp-server/mysql-error-incorrect-integer-value-for-column-name-at-row-1
http://linux.it.net.cn/m/view.php?aid=21124
没有评论 T^T