【发布时间】:2009-05-13 00:05:57
【问题描述】:
我正在使用 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...
}
由于某种原因,我在包含 ResultSet rs = ps.getGeneratedKeys(); 的行上收到以下 SQLException:
!Statement.Generated Keys 不是 已请求!
有什么想法吗?当我在 MySQL 浏览器中运行与通过调试器运行应用程序生成的相同查询时,它会毫无意外地执行。
谢谢, 布莱恩
【问题讨论】: