sql >> Databasteknik >  >> RDS >> Mysql

Det går inte att ta bort eller uppdatera en överordnad rad ConstraintViolationException

Testa att använda entityManager.createNativeQuery() . Du kan inte använda createQuery() eftersom tabellen bör finnas som en enhet i din Java-kod. Du måste också använda det exakta SQL-formatet.

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;
    }`

Ta först bort raden från USER_PHONE (med createNativeQuery() ), och sedan från User (med createQuery() )



  1. Räkna raderna med samma ID i php

  2. Laravel vältalig grupp enligt senaste skivan

  3. Använd FILE_NAME() för att returnera det logiska filnamnet för ett givet fil-ID i SQL Server

  4. MySQL-databas skadad