我有一个select语句,其中WHERE子句的IN运算符。只要将某些值传递给问号(从Java程序传递),查询就可以正常工作。但是,如果没有传递任何值,则会出现语法错误。
select
this_.categoryAddressMapId as category1_1_0_,
this_.categoryId as categoryId1_0_,
this_.addressId as addressId1_0_
from
icapcheckmyphotos.category_address_map this_ <br>
where
this_.addressId in (
?
)
如果没有传递任何参数,则需要设置为null。请提出如何修改where子句的建议。提前致谢
最佳答案
修改您的Java程序。您的选择是在没有addressId的情况下不运行查询,或确保它传递至少一个值。如果addressId是一个整数字段,则传递-1或类似的值。就个人而言,我喜欢第一种选择,但这取决于您的要求。