问题描述
- MYSQL连续左连接两张表报错
-
SQL语句如下:
SELECT * FROM
channel AS a JOIN floors b ON a.ifloorid = b.id
join floors c on a.ofloorid = c.id
连续连接同一张表。
这个SQL语句直接放在mysql终端执行是没有问题的。
但是当用jdbc运行的时候。提示错误:
You have an error in your SQL syntax;
check the manual that corresponds to your MySQL server version for the right syntax to use near ''floors' b ON a.ifloorid = b.id JOIN 'floors' c ON a???ofloorid = c.id' at line 1数据库版本是5.5,mysql的jar版本是5.1.6
解决方案
a???ofloorid = c.id....
解决方案二:
mysql终端没问题那说明不是sql格式有问题,你把jar版本换成5.5或以上的试下再试下。可能是5.1.6的编码不兼容高版本的mysql
还有这里的join默认不是左链接。而是内链接
解决方案三:
SELECT * FROM
channel a ,floors b,floors c where a.ifloorid = b.id and a.ofloorid = c.id 你的SQL与这样写的效果是一样的。你试试看会不会报错
时间: 2024-10-03 00:10:05