网站出现seacms Error Warning数据库sql错误d.id的解决方法

admin 2017-7-26 133

可能的原因1:
浏览器缓存导致查询命令参数错误。此类错误一般会有如下详细报错信息:
Error infos: Unknown column 'd.id' in 'order clause' 
解决办法一般为清空浏览器缓存即可。


可能的原因2:
mysql数据库停止服务,这个错误会有明确的提示(英文提示数据库服务不存在),也有的服务器环境会直接显示500错误。
解决办法为检查mysql服务是否启动,数据库地址 账号 密码信息是否正确。

可能的原因3:
数据库缺少相应的字段,造成这种问题的原因一般都是升级cms版本的时候,没有成功执行SQL语句。或者垮版本进行了数据备份恢复,导致数据库结构不一致。
解决办法就是对照升级说明,重新执行SQL命令,补齐缺失的字段。

可能的原因4:
数据库的表毁坏,此类错误报错信息基本都会出现Crash这个词,表损坏的原因很多,如服务器硬盘垃圾造成写入错误,如频繁的写入刷新造成逻辑混乱等等。
解决办法是通过后台的数据库管理功能修复优化表,或者使用PHPmyadmin来修复优化表。如果无法修复,则需要使用备份文件恢复数据库,所以应该站长养成备份数据的好习惯。

可能的原因5:
高版本mysql默认开启严格模式造成的SQL错误问题说明,比如新版宝塔面板。新版的MYSQL数据库(5.6/5.7/++),默认开启严格模式,导致SQL命令报错。严格模式对各种程序普遍存在兼容性问题,基本都是关闭状态,现在基本全都是宽松模式,很多框架和成熟的开源产品考虑到受众的水平,都会以宽松模式作为默认配置。
解决办法为关闭严格模式。通过配置文件修改:
linux配置文件为my.cnf文件
window配置文件为my.ini

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
修改后重启mysql服务即可。


另外,数据库错误是一个极其复杂又原因众多的常见性错误,此类错误海洋cms都会给出详细的报错代码,百度查询或论坛发帖都能提高解决问题的概率。



最新回复 (2)
  • admin 2017-7-26
    0 引用 2
    现在基本全都是宽松模式,很多框架和成熟的开源产品考虑到受众的水平,都会以宽松模式作为默认配置.
  • pins8 2017-7-28
    0 引用 3
    我的是MYSQL5.5也出现那问题
返回
发新帖