【 使用环境 】测试环境
【 OB or 其他组件 】
【 使用版本 】3.2.4企业版
【问题描述】
今天测试OceanBase mysql数据库的兼容性的时候,遇到一个SQL一直报错,排查过后简化sql如下:
SELECT *
FROM
znbg_insurance_info ins
LEFT JOIN znbg_policyinfo_statistics ps ON ins.id = ps.insurance_id
AND ps.deleted = '0'
报错1064 - You have an error in your SQL syntax; check the manual that corresponds to your OceanBase version for the right syntax to use near 'ps' at line 4
检查官方文档并未发现语法错误问题,检查思路如下:
- 检查OceanBase是否支持leftjion(其实不用检查,这个很基础的语法还是都支持的)
- 检查两个表是否都含有对应字段,是不是类型有问题(并无问题)
最终删除ps
别名采用s
后sql正常了,wnm,ps
居然是特殊关键字。事后在官方文档中也并没找到ps相关关键字的说明,感觉是个bug
【复现路径】随便找个表 ps当别名,执行就报错