1. Willkommen im Forum für alle Datenbanken! Registriere Dich kostenlos und diskutiere über DBs wie Mysql, MariaDB, Oracle, Sql-Server, Postgres, Access uvm
    Information ausblenden

MySql - DELETE mehrere Tabellen in einer Abfrage

Dieses Thema im Forum "MySQL und MariaDB" wurde erstellt von Th3RaZe, 15 Dezember 2017.

  1. Th3RaZe

    Th3RaZe Aktiver Benutzer

    Hallo, ich habe folgende DELETE Operation:

    Code:
    DELETE a.*,b.* FROM content as a,comments as b WHERE  a.user_id='ffflal-ddddd' and room_id=55
    so jetzt ist mein Problem, wie mache ich meine WHERE abfrage, denn das Problem ist, in der Tabelle "comments" kann es einen Eintrag geben oder auch nicht, deshalb kommt ein AND nicht in Frage, mit einem OR aber auch nicht, da er dann davor alles vergisst und alles löscht was bei 3 nicht auf dem Baum sitzt.

    Danke.
     
  2. akretschmer

    akretschmer Datenbank-Guru

    Du suchst CASCADE. Auch wenn es bei 3 nicht auf dem Baum sitzt.

    Code:
    test=# create table m(id int primary key);
    CREATE TABLE
    test=*# create table s (m_id int references m on delete cascade);
    CREATE TABLE
    test=*# insert into m values (1);
    INSERT 0 1
    test=*# insert into m values (2);
    INSERT 0 1
    test=*# insert into s values (1);
    INSERT 0 1
    test=*# insert into s values (1);
    INSERT 0 1
    test=*# insert into s values (1);
    INSERT 0 1
    test=*# insert into s values (1);
    INSERT 0 1
    test=*# insert into s values (2);
    INSERT 0 1
    test=*# insert into s values (2);
    INSERT 0 1
    test=*# delete from m where id = 2;
    DELETE 1
    test=*# select * from s;
     m_id
    ------
      1
      1
      1
      1
    (4 Zeilen)
    
    test=*#
    
     
    Th3RaZe gefällt das.
  3. Th3RaZe

    Th3RaZe Aktiver Benutzer

    Top! Danke, hat geklappt.
     
Die Seite wird geladen...

Diese Seite empfehlen

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden