当前位置:  开发笔记 > 编程语言 > 正文

使用JDBC for MySQL 5.1的getGeneratedKeys()上的奇怪异常

如何解决《使用JDBCforMySQL5.1的getGeneratedKeys()上的奇怪异常》经验,为你挑选了1个好方法。

我正在使用JDBC将行插入MYSQL数据库.我构建一个参数化命令,执行它并尝试检索自动生成的键,如下所示:

String sql = "INSERT IGNORE INTO `users` (`email`, `pass-hash`) VALUES (?, ?)";
Connection conn = SQLAccess.getConnection();
PreparedStatement ps = conn.prepareStatement(sql);
ps.setString(1, login);
ps.setString(2, passHash);

int count = ps.executeUpdate();

if (count == 1) {
    ResultSet rs = ps.getGeneratedKeys();
    rs.next();
         //some more stuff...
}

出于某种原因,我在包含以下内容的行上获得以下SQLException ResultSet rs = ps.getGeneratedKeys();:

!声明.生成的密钥未被请求!

有什么想法吗?当我运行相同的查询时,通过调试器运行应用程序生成的查询,在MySQL浏览器中它执行时没有发生任何事故.

谢谢,布莱恩



1> Trey..:

我想你想打电话 prepareStatement(sql, RETURN_GENERATED_KEYS)

推荐阅读
mobiledu2402851323
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有