MySQL - Löschen eines Datensatzes ohne ID als Fremdschlüssen in anderer Tabelle

RipmaV

Mitglied
Hi Leute,
ich suche schon die ganze Zeit eine Möglichkeit die alte Datenbank hier in der Firma aus zu missten.
Folgendes Problem stellt sich mir dabei:
Ich habe zwei Tabellen. Einmal 'gallerys' und dann noch 'gallerys_pictures'
In gallerys_pictures gibt es ein Feld dass 'gallery_id' heißt in welches die ID der zugehörigen Gallery gespeichert wird.
Nun möchte ich alle Gallerien löschen denen keine Bilder zugeordnet sind.

Warscheinlich denke ich mal wieder in die falsche Richtung oder zu kompliziert, denn bisher ist mir keine Lösung zu diesem Problem auch nur ansatzweise eingefallen.

Hoffe ich unterfordere euch nicht mit diesem maginalen Thema.

Danke schonmal für eure mühe!
Gruß
Rip
 
Moin,

mal so aus dem Bauch heraus:

Code:
delete * from gallerys
where gallery_id not in 
(select gallery_id from gallerys_pictures)
Gruß
Klaus
 
Zuletzt bearbeitet:
dank dir, genau dass hab ich gesucht!
ich hab eindeutig mal wieder zu kompliziert gedacht.
-- Edit --
Schade funktioniert doch nicht so, gibt nen SQL Fehler.
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '* from gallerys
where gallery_id not in
(select gallery_id from gallerys_pict' at line 1

subselects dürfen nur einen einzigen datensatz liefern soweit mir bekommt.
 
Zuletzt bearbeitet:
Echt? Ich dachte ich hätte dass in den Docs vom MySQL gelesen. So kann man sich irren. Ok dann werd ich gleich mal ohne den Stern ausprobieren.

Code:
delete from gallerys
where id not in
(select gallery_id from gallerys_pictures)

so funktioniert es, dank euch!
 
Ja ich hab selbst nicht drauf geachtet. Sonst hätte mir dass auffallen müssen. :-(
Naja nu gehts dank eurer Hilfe! :)
 
Zurück