Unknown column 'id' in 'on clause'

 这个问题纠结好久,记录下来

 

原因:

 

MySQL5.0 Bug, 要把联合的表用括号包含起来才行:

 

Sql代码   收藏代码
  1. 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代码   收藏代码
  1. 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  

猜你喜欢

转载自lelglin.iteye.com/blog/1460648