style="display:inline-block;width:728px;height:90px"
data-ad-client="ca-pub-5164839828746352"
data-ad-slot="7563230308">

Error netbeans y MariaDB Column count doesn't match value count at row 1

Hola buenas tardes estoy haciendo un programa que me debe agregar los datos de personas x y sus mascotas.
el problema es que para eliminar alguna persona de la base de datos. necesito hacer una primary key. y cuando hago la columna " id " y " auto_increment".
el problema es que apenas haces esta columna extra. el netbeans me falla.
en el fondo son 6 columnas la 7 es la id primary key. que deberia agregarse sola, quizas me falta un codigo que haga que llame el numero de la base de datos al
pst.setString(7, Algun codigo que llame la primary key de la base);

algo así debe ser el error

try {
if(conn == null) {
Class.forName("com.mysql.jdbc.Driver");
conn = (Connection) DriverManager.getConnection(uri, user, pass);
}

String sql = "insert into duenomascota values (?,?,?,?,?,?)";
PreparedStatement pst = conn.prepareStatement(sql);
pst.setString(1, ObjDueño.getNombre());
pst.setString(2, ObjDueño.getApellido());
pst.setShort (3, ObjDueño.getEdad());
pst.setString(4, String.valueOf(ObjDueño.getSexo()));
pst.setString(5, ObjDueño.getNombremascota());//ObjMascota.getNombre());
pst.setString(6, String.valueOf(ObjDueño.getSexomascota()));
pst.execute();

//EL ERROR ESTA ANTES DE ESTO. como son 6 columnas. y al agregarle la extra que es el id. me falla. espero que puedan ayudarme
if (BtnM.isSelected()) {
JOptionPane.showMessageDialog(null, "El Dueño " + ObjDueño.getNombre() + " fue agregado exitosamente!");//Mensaje dueño creado
} else

if (BtnF.isSelected()) {
JOptionPane.showMessageDialog(null, "La Dueña " + ObjDueño.getNombre() + " fue agregada exitosamente!");//Mensaje dueña creada
}
//return conn;
}//Fin TRY
catch(ClassNotFoundException e) {
System.out.println("Exepcion de driver de MySQL: " + e);
//return null;
}
catch(SQLException e){
System.out.println("Exepcion de SQL: " + e);
//return null;
}

muchas gracias espero que puedan ayudarme y perdon si me equivoque de Lugar donde publicar esto. muchas gracias de ante mano
les pongo el programa adjunto. para que lo aprecien mejor.

AdjuntoTamaño
Ayuda.rar134.77 KB

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de adrianaaae

Columna AUTO_INCREMENT

Cuando se realiza un inserción en la tabla se debe de mandar los parámetros completos; es decir si la tabla contiene 3 columnas se deben mandar los 3 parámetros en la query Insert, aunque la columna ID sea auto incrementable; ya que eso solo determina el tipo de estrategia de generación para la columna.

Supongamos que tienes la siguiente tabla "tabla1" con las siguientes columnas:

-> id int(11) NOT NULL AUTO_INCREMENT,
-> edad int(11) NOT NULL,
-> nombre varchar(45) NOT NULL,

La query para la insercion sería:

INSERT INTO tabla1 VALUES(0,25,'Adrian Alonso');
INSERT INTO tabla1 VALUES(0,30,'Jose');
INSERT INTO tabla1 VALUES(0,10,'Maria');

El resultado seria:

1 25 Adrian Alonso
2 30 Jose
3 10 Maria

Que raro

Que raro sus inserts, la última vez que maneje SQL recuerdo que el insert se realizaba asi: 'insert into nombreTabla(columna, columna, ...) values (valor, valor, ...)'

Imagen de adrianaaae

Insert

Los nombres de las columnas no son necesarias; al menos no en la versión que utilizo Server version: 5.5.34 MySQL Community Server (GPL).

Pero puedes probar y comentas tus resultados.

Saludos.

style="display:inline-block;width:728px;height:90px"
data-ad-client="ca-pub-5164839828746352"
data-ad-slot="7563230308">