MySQL 1054错误 Unknown column .... in 'on clause'
来源:互联网 发布:java bytebuffer mark 编辑:程序博客网 时间:2024/05/21 09:12
ERROR 1054 (42S22): Unknown column ... in 'on clause'
原因:
MySQL5.0 Bug, 要把联合的表用括号包含起来才行:
例:
- 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,要把联合的表用括号包含起来才行:
- 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
但是HQL生成就是这样的语句,怎么办呢?我们可以改变HQL的写法来达成生成另一种SQL语句,以避免这种BUG的出错
把select (c.id, a.id, b.id) from C c Left join c.a a Left join c.b b
则会生成
- SELECT (c.id, a.id, b.id) FROM A a LEFT JOIN B b LEFT JOIN C c ON c.a_id = a.a_id AND c.b_id = b.b_id
这样的话mysql下就不会出错了。
- MySQL 1054错误 Unknown column .... in 'on clause'
- Mysql报错[Err] 1054 - Unknown column 'b.borrow_id' in 'on clause'
- mysql1054: Unknown column ... in 'on clause'
- Python MySQL 1054 "Unknown column '\xe7\x88\xb1\xe6\x83\x85' in 'where clause'"错误分析
- Unknown column 'xxx' in 'where clause'错误
- mysql下出现Unknown column 'xx' in 'on clause'的完全解决方法
- mysql下出现Unknown column 'id' in 'on clause'的解决方法
- Column not found: 1054 Unknown column 'tl10709' in 'where clause'
- 【mysql】ERROR 1054 (42S22): Unknown column '‘root‘' in 'where clause'
- MySQL数据库删除用户报错:ERROR 1054 (42S22): Unknown column 'User' in 'where clause'
- Unknown column 'rownum' in 'where clause'解决方案
- Unknown column '安妮宝贝' in 'where clause'
- Unknown column '??????' in 'where clause'问题
- Unknown column 'ORGANIZATION_BANK' in 'where clause'
- 中文乱码 unknown column in 'where clause'
- <Unknown column 'card_id' in 'order clause'>
- python操作数据库出现错误 : Unknown column 'XXXX' in 'where clause'")错误
- SQLSTATE[42S22]: Column not found: 1054 Unknown column 'tbl_contact' in 'where clause'.
- Struts2中redirect,基本的经验之谈(转)
- css3实现背景颜色线性渐变
- 不要那么复杂
- 配置RHEL6使用Xmanager远程管理
- 第13回 等待队列中操作函数
- MySQL 1054错误 Unknown column .... in 'on clause'
- Tumblr:150亿月浏览量背后的架构挑战(上)
- C/C++格式化字符串说明
- Tumblr:150亿月浏览量背后的架构挑战(下)
- 什么是数据结构
- 如何设置Eclipse工作空间的缺省字符编码
- 宽字符集(unicode)操作函数
- springwebflow简单部署
- 关于内存字节大小的测试,用sizeof();