PHP 5.6应用从MySQL迁移至MariaDB后SQL语法报错求助
解决方案:MariaDB中SQL语法错误(offset asc)
问题根源:
offset是MariaDB的保留关键字,MySQL 5.6版本对保留字的校验相对宽松,允许直接将offset作为字段名用于排序;但MariaDB严格遵循SQL标准,会将未转义的offset识别为关键字,从而触发语法错误。修复操作:
- 定位到生成报错SQL的PHP代码,找到包含
offset asc, gmt asc的查询语句片段。 - 将字段名
offset用反引号包裹,修改后的排序部分应为:`offset` asc, gmt asc - 若无法快速定位代码,可全局搜索项目中包含
offset与asc组合的字符串,或聚焦“我的资料”功能对应的业务脚本文件查找。
- 定位到生成报错SQL的PHP代码,找到包含
验证:修改代码后重新测试“我的资料”模块,确认SQL错误消除,用户档案数据正常加载。
内容的提问来源于stack exchange,提问作者joey_joe1
相关产品推荐
相关产品推荐

