sql >> Databáze >  >> RDS >> Mysql

Nelze odstranit nebo aktualizovat nadřazený řádek ConstraintViolationException

Zkuste použít entityManager.createNativeQuery() . Nemůžete použít createQuery() protože tabulka by měla být přítomna jako entita ve vašem kódu Java. Také musíte použít přesný formát SQL.

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

Nejprve odstraňte řádek z USER_PHONE (pomocí createNativeQuery() ) a poté z User (pomocí createQuery() )



  1. Co je to sakra DTU?

  2. Jak AUTOINKREMENTOVAT od určitého čísla/offsetu?

  3. 8 způsobů, jak přidat hodinu k datu a času v MariaDB

  4. Jak mohu VYBRAT více sloupců v CASE WHEN na SQL Server?