Mysql
 sql >> Base de données >  >> RDS >> Mysql

Impossible de supprimer ou de mettre à jour une ligne parent ConstraintViolationException

Essayez d'utiliser entityManager.createNativeQuery() . Vous ne pouvez pas utiliser createQuery() car la table doit être présente en tant qu'entité dans votre code Java. De plus, vous devez utiliser le format SQL exact.

String query = "DELETE FROM USER_PHONE WHERE user_id=?1";

    try{
        Query q = entityManager.createNativeQuery(query);
        q.setParameter(1,id);
        q.executeUpdate();
        System.out.println(System.currentTimeMillis() + " DELETE User_Phone: userId " + id + " ==> deleted");
    } catch(Exception e){
        e.printStackTrace();
        return false;
    }`

Supprimez d'abord la ligne de USER_PHONE (en utilisant createNativeQuery() ), puis depuis User (en utilisant createQuery() )