2017.11.06 | 零零碎碎 | 0 赞 | 0 条评论


请注意,本文编写于 943 天前,最后修改于 397 天前,其中某些信息可能已经过时。

在使用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

本文链接:https://idealclover.top/archives/319/

本作品由 idealclover 采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可,转载请注明出处。

标签: mysql, typecho, sql, set

0

没有评论 T^T


🤔关于我
翠翠 idealclover
南京大学商学院 2016 级本科生
了解更多
🏠关于博客
基于 Typecho 博客框架
使用个人创作的 clover 主题
💾博客小程序
💸支持我