java.sql.SQLException: el recuento de columnas no coincide con el recuento de valores en la fila 1

La estructura de mi mesa:

id int AUTO_INCREMENT PRIMARY KEY title text url text age int 

Así es como estoy tratando de guardar datos en esta tabla:

 PreparedStatement ps=con.prepareStatement("insert into table(title, url, age) values ('\"+title+\",\"+url+\",\"+age+\"')"); System.out.println("Connected database successfully.."); ps.executeUpdate(); 

Pero cuando ejecuto la aplicación, obtengo

java.sql.SQLException: el recuento de columnas no coincide con el recuento de valores en la fila 1

Supongo que el problema podría estar en la columna de identificación , ¿cómo resolverlo?

El problema no es la columna de id .

De la statement, parece que tiene comillas en todas las columnas. Por lo tanto, al SQL le parece que solo tiene una columna

 '"title","url","age"' 

Lo que querrías tener es

 "insert into table(title, url, age) values ('" + title + "','" + url + "'," + age + ")" 

o mejor aún, ya que es una statement preparada

 "insert into table(title, url, age) values (?, ?, ?)" 

En realidad, tienes un problema diferente (solo estás pasando un “valor”) –

 PreparedStatement ps=con.prepareStatement("insert into table(title, url, age) " + "values (?,?,?)"); ps.setString(1, title); ps.setString(2, url); ps.setInt(3, age); // <-- at a guess! 

Tu consulta original pone los tres valores en una cadena '\"+title+\",\"+url+\",\"+age+\"' .

Intereting Posts