Olá galera… estou com um problema seríssimo…
Tenho 4 tabelas relacionadas… insiro em uma preciso pegar então o último id inserido (auto incremet) e inserir na fk da outra tabela; já fiz o seguinte:
/**INSERE NA TABELA DOC - 3 **/ == linha 168
/**INSERE NA TABELA DOC - 3 **/
String sql3 = "INSERT INTO documento (NOME_DOC, CAMINHO_DOC) values (?, ?)";
PreparedStatement stmt3 = con.prepareStatement(sql3);
stmt3.setString(1, tag);
stmt3.setString(2, CAMINHO_ARQUIVO);
stmt3.execute();
stmt3.close();
String sqlaux3 = "select last_insert_id() from documento";
/**INSERE NA TABELA RADICAL**/
String sql = "INSERT INTO radical (NOME_RADICAL) values (?)";
PreparedStatement stmt = con.prepareStatement(sql);
stmt.setString(1, radical);
stmt.execute();
stmt.close();
String sqlaux = "select last_insert_id() from radical";
/**INSERE NA TABELA TAG - 1 **/
String sql1 = "INSERT INTO tag (NOME_TAG, FK_ID_RADICAL) values (?, ?)";
PreparedStatement stmt1 = con.prepareStatement(sql1);
stmt1.setString(1, tag);
stmt1.setString(2, sqlaux);
stmt1.execute();
stmt1.close();
String sqlaux1 = "select last_insert_id() from tag";
/**INSERE NA TABELA TAG_DOC - 2 **/
String sql2 = "INSERT INTO tag_doc (ID_DOC, ID_TAG) values (?, ?)";
PreparedStatement stmt2 = con.prepareStatement(sql2);
stmt2.setString(1, sqlaux3);
stmt2.setString(2, sqlaux1);
stmt2.execute();
stmt2.close();
mas dá o seguinte erro:
Exception in thread "main" java.sql.SQLException: Incorrect integer value: 'select last_insert_id() from documento' for column 'ID_DOC' at row 1
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1075)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3566)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3498)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1959)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2113)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2568)
at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2113)
at com.mysql.jdbc.PreparedStatement.execute(PreparedStatement.java:1364)
at principal.Histograma.main(Histograma.java:200)
preciso super urgente… nó… to quebrando a cabeça faz maior tempão!!!
valew gente