いくつかの環境情報:
- mysql-connector-java-5.1.22-bin.jar;
- mysql Standard Edition 5.5;
- jdk 1.6;
- Netbeans IDE;
- Windows XP;
私のJavaコードは次のとおりです。
MySQLConnection conn = (MySQLConnection)DriverManager.getConnection("jdbc:mysql://localhost:3306/db", "root", "");
String sql = "INSERT INTO `table_name` (`col1`,`col2`,...`colN`) VALUES (value1,value2,...,valueN)";
Statement stmt = conn.createStatement();
int rows = stmt.executeUpdate(sql, Statement.RETURN_GENERATED_KEYS);
ResultSet rs = stmt.getGeneratedKeys();
if (rs != null && rs.next()) {
int id = rs.getInt(1);
}
このテーブルには、auto_increment属性を持つ「id」という名前の主キー列が1つあります。実行後、テーブルにレコードが挿入されます。ただし、rs.next()はfalseを返し、自動生成された主キー値を取得できません。
手がかりはありますか?