Как исправить исключение java.sql.SQLIntegrityConstraintViolationException? - PullRequest
0 голосов
/ 05 мая 2019

Я пытаюсь подключиться к базе данных, и это, кажется, работает нормально. Я создал объект 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();
    }   
}

А таблицы введите описание изображения здесь

введите описание изображения здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...