1.mysql5的bug问题
这个问题的解决方案大家可以百度一下,其实非常好解决,我在这里简单提一下:
百度搜索到的问题原因都是:
MySQL5.0 Bug, 要把联合的表用括号包含起来才行:
Sql代码
SELECT (c.id, a.id, b.id) FROM A a, B b LEFT JOIN C c ON c.a_id = a.a_id AND c.b_id = b.b_id
这句话执行应该是没有错误的,但是Mysql 5 下执行则会出错。
因为mysql下有这样一个BUG,要把联合的表用括号包含起来才行:
Sql代码
SELECT (c.id, a.id, b.id) FROM (A a, B b) LEFT JOIN C c ON c.a_id = a.a_id AND c.b_id = b.b_id 。
2.在我们看了自己的sql语句很久之后,依旧找不到什么不对的问题,我们可以将目光放在数据库,数据库表的构建层面问题
1.在数据表的结构上,有一个非常令人恼火且无语的小差错,同样会导致出现上述问题
比如说:你的表的字段名敲入了空格
这个空格细微到我们直接忽略掉它,但是mysql不会忽略,所以,很坑!!!
2.数据库的构建上
如果实在查不到问题所在,我们可以重查数据库的引擎,这需要很深的技术和经验,所以,对于一般开发者来说,直接重装是最好的解决方案。