我正在使用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...
}
Run Code Online (Sandbox Code Playgroud)
出于某种原因,我在包含以下内容的行上获得以下SQLException ResultSet rs = ps.getGeneratedKeys();:
!声明.生成的密钥未被请求!
有什么想法吗?当我运行相同的查询时,通过调试器运行应用程序生成的查询,在MySQL浏览器中它执行时没有发生任何事故.
谢谢,布莱恩