如何在JDBC中使用MySQL子查询?

示例查询

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 (?,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();

相关文章

优化MySQL数据库发布系统存储的方法有:1.mysql库主从读写分...
使用mysql的方法:在“我的电脑”→右键→“管理”→“服务”...
在mysql中查看root用户权限的方法:1.命令行启动mysql服务;...
MySQL主从复制是用来备份一个与主数据库一样环境的从数据库,...
运行mysql的方法1.启动mysql服务,在“我的电脑”→右键→“...
开启mysql的方法1.可以通过快捷键win+r,输入cmd,打开窗口,...