Olá pessoal estou com um probleminha nesse código aqui:
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import com.mysql.jdbc.PreparedStatement;
public class TestaInserção {
public static void main(String[] args) throws SQLException {
String nome = "Notebook e7";
String descricao = "Notebook Caro";
Connection connection = DataBase.getConnection();
System.out.println("Adiquirindo Conexão . . .");
String sql = "INSERT INTO produtos (nome, descriçao) VALUES(?, ?)";
PreparedStatement ps = (PreparedStatement) connection.prepareStatement(sql, PreparedStatement.RETURN_GENERATED_KEYS);
ps.setString(1, nome);
ps.setString(2, descricao);
ps.execute();
ResultSet RS = ps.getGeneratedKeys();
String ID = RS.getString("id");
while(RS.next()){
System.out.println(ID);
}
RS.close();
ps.close();
connection.close();
}
}
Aparentemente tudo ok, né? Infelizmente a saída do console é essa: Adiquirindo Conexão . . . Exception in thread "main" java.sql.SQLException: Column 'id' not found. at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:959) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:898) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:887) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:862) at com.mysql.jdbc.ResultSetImpl.findColumn(ResultSetImpl.java:1076) at com.mysql.jdbc.ResultSetImpl.getString(ResultSetImpl.java:5206) at TestaInserção.main(TestaInserção.java:19) Picked up _JAVA_OPTIONS: -Xverify:none
Ele até executa o query e o statment, no caso um PS, porém nunca consigo retornar o ID, detalhe estou usando MYSQL e não hsqlServer. . . Alguém poderia me dar um luz?