首页 > 解决方案 > 为什么我的 SQL 查询不适用于 JDBC Java

问题描述

这里

cat="SHOP-Large";
String sql="select * 
    from payments as pay 
    inner join bookingstatus as bs ON pay.space_id=bs.space_id and bs.bookingstatus='Booked' and `bs.cat`="+cat+"";

这个显示这个错误:

java.sql.SQLSyntaxErrorException: Unknown column 'bs.cat' in 'on clause'

我也尝试过删除那些 backtics

String sql="select * 
    from payments as pay 
    inner join bookingstatus as bs ON pay.space_id=bs.space_id 
    and bs.bookingstatus='Booked' and bs.cat="+cat+"";

这个显示:

    java.sql.SQLSyntaxErrorException: Unknown column 'SHOP' in 'on clause'

我究竟做错了什么?

标签: mysqljdbc

解决方案


您需要将您的第一个 and 语句更改为 where 语句。您还需要变量 cat 的引号。

对于第二个语句,试试这个:

String sql="select * 
from payments as pay 
inner join bookingstatus as bs ON pay.space_id=bs.space_id 
where bs.bookingstatus='Booked' and bs.cat='"+cat+"'";

这可能无法解决您的所有错误,但可以解决一些问题。


推荐阅读