2
respostas

Erro com inserção

Estou exercutando esse código:

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package br.com.caelum.jdbc;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class TestaInsercao {

    public static void main(String[] args) throws SQLException {

        Connection connection = DataBase.getConnection();
        String nome = "Notebook";
        String descricao = "Notebook core i5";
        String sql = "insert into produto (nome, descricao) values (?,?)";

        PreparedStatement comando = connection.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS);
        comando.setString(1, nome);
        comando.setString(2, descricao);

        boolean resultado = comando.execute();
        System.out.println(resultado);

        ResultSet resultSet = comando.getGeneratedKeys();
        while (resultSet.next()) {

            String id = resultSet.getString("id");
            System.out.println("Chave gerado: " + id);

        }

        resultSet.close();
        comando.close();
        connection.close();
    }
}

e está saindo esse erro :

false Exception in thread "main" java.sql.SQLException: Column 'id' not found. at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1074) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:988) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:974) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:919) at com.mysql.jdbc.ResultSetImpl.findColumn(ResultSetImpl.java:1167) at com.mysql.jdbc.ResultSetImpl.getString(ResultSetImpl.java:5733) at br.com.caelum.jdbc.TestaInsercao.main(TestaInsercao.java:33) C:\Users\bahia\AppData\Local\NetBeans\Cache\8.2\executor-snippets\run.xml:53: Java returned: 1 FALHA NA CONSTRUÇÃO (tempo total: 0 segundos)

O problema é que mesmo executando esse erro falando que não está encontrando a coluna id, quando vou no mysqli Workbench e dou um select, mostra que o produto foi adicionado

2 respostas

Olá,

A última vez que vi alguém com este problema, era devido a versão do MySQL, eu quando fiz este curso usei o HSQL (se não me engano no curso é com esse mesmo) com Java 8, foi sem problemas, meu código está igualzinho.

A pessoa que teve esse problema no MySQL não sei se chegou a corrigir, ou se fez com HSQL, vou tentar achar o post, mas já é um pouco antigo.

Abraço.

Beleza...