mysql4.1中limit预处理的问题?高手请进!

topirol 2006-04-11 11:31:27
本来一直用mysql5.0的,但由于虚拟空间提供的是MYSQL4.0的数据库,只好换为4.1的了。但居然发现4.1中预处理有问题:
String sql="select * from User limit ?";
//String sql="select * from User where id=?";
PreparedStatement pre=conn.prepareStatement(sql);
pre.setInt(1,5);
ResultSet rs=pre.executeQuery();
while (rs.next()){
System.out.println(rs.getString("Name"));
}

出现错误:
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 '?' at line 1

但如果换为mysql5.0就没有问题?奇怪了。
如果换为: String sql="select * from User where id=?";
就可以查询id为5的记录。这说明limit的预处理在mysql4.1里面是不能用的吧!

那请问大家在mysql4.1里面是如何通过预处理取出前面的数据呢?
...全文
125 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
skycncomp 2006-04-12
  • 打赏
  • 举报
回复
记忆中limit是 0,5

这样查的吧。
topirol 2006-04-12
  • 打赏
  • 举报
回复
直接运行command在mysql4下是没问题的。

但我已经使用mysql-connector-java-3.2.0-alpha这个版本的驱动了,回去再试试看
cuiyingfeng 2006-04-12
  • 打赏
  • 举报
回复
可能是驱动的问题,楼主换一个驱动试试。我想你直接运行command在mysql4下没问题的
topirol 2006-04-12
  • 打赏
  • 举报
回复
还是不行的。
limit 5跟limit 0,5直接查询,查出效果一样的。

楼上的朋友请问在mysql4.1里面是如何通过预处理取出前面的数据呢?
topirol 2006-04-12
  • 打赏
  • 举报
回复
果然是驱动问题,谢谢啦

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧