Я пытаюсь подключиться к базе данных, и это, кажется, работает нормально. Я создал объект Producto и загрузил Producto в базу данных. Я думаю, что проблема в форме, которую я создал базу данных. У меня есть 2 таблицы 1. с id_categories и именем этого. 2. Это продукт с именем id_Product, а также id_categories. Две таблицы связаны между собой id_categories.
Это ошибка:
java.sql.SQLIntegrityConstraintViolationException: Cannot add or update a child row: a foreign key constraint fails (`lacompraalegre`.`productos`, CONSTRAINT `id_categoria` FOREIGN KEY (`id_categoria`) REFERENCES `categorias` (`id_categoria`) ON DELETE CASCADE ON UPDATE CASCADE)
Это код:
public void insertarProducto(Producto p) {
try {
String query = "INSERT INTO productos (nombreProducto, numeroExistencias, id_categoria) VALUES (?,?,?); ";
con = conexion.conectar();
PreparedStatement pst = con.prepareStatement(query);
try {
pst.setString(1, p.getNombreProducto());
pst.setInt(2, p.getCantidadExistente());
pst.setInt(3, p.getId_Categoria());
}catch(NullPointerException e) {
logger.error("Algo ha ido mal");
}
int insertado = pst.executeUpdate();
if(insertado>0) {
logger.info("Insertado correctamente");
}else {
logger.error("No ha sido posible insertar usuario");
}
} catch (SQLException e) {
e.printStackTrace();
}finally {
ConectorBD.desconexion();
}
}
А таблицы введите описание изображения здесь
введите описание изображения здесь