示例查询:
SELECT country
FROM data
WHERE city LIKE
(SELECT LEFT ('jakartada',7));
JDBC 中的示例:
String sql = " SELECT country FROM data WHERE city LIKE (SELECT LEFT ('?',7)) ";
PreparedStatement ps = koneksi.prepareStatement(sql);
ps.setString(1, city );
ResultSet rs = ps.executeQuery();
为什么这不能正常工作?
最佳答案
准备好的语句中没有参数,但是代码尝试设置参数。尝试向语句中添加一个参数。
String sql = " SELECT country FROM data WHERE city LIKE (SELECT LEFT (?,7)) ";
PreparedStatement ps = koneksi.prepareStatement(sql);
ps.setString(1, city );
ResultSet rs = ps.executeQuery();
或者尝试删除设置参数的语句:
String sql = " SELECT country FROM data WHERE city LIKE (SELECT LEFT ('jakartada',7)) ";
PreparedStatement ps = koneksi.prepareStatement(sql);
ResultSet rs = ps.executeQuery();
关于java - 如何在 JDBC 中使用 MySQL 子查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14329944/