MudGuard: UPDATE abhängig von anderen Tabellen

Beitrag lesen

Hi,

mit phpmyadmin möchte ich in einem fünfstelligen Feld ein X auf Stelle 5 setzen, wenn zu diesem Datensatz in zwei anderen Tabellen keine Einträge vorliegen:

Das deutet darauf hin, daß das eigentlich eher fünf einstellige Felder sein sollten ...

UPDATE    tm_adressen adr1
LEFT JOIN tm_kontakte kon1
ON        kon1.besucher_id  = adr1.id
LEFT JOIN tm_eventbuchungen evb1
ON        evb1.adress_id    = adr1.id
SET       adr1.merkmalsleiste = CONCAT( SUBSTRING(merkmalsleiste,1,4), 'X' )
WHERE adr1.owner_id  = 15
AND   adr1.adr_kz    = 2
AND   kon1.id IS NULL
AND   evb1.id IS NULL

join beim Update? Ist das überhaupt erlaubt?

Ich hätte das eher so gelöst:


UPDATE tm_adressen adr1
SET adr1.merkmalWederKontaktNochEvent = 1
WHERE adr1.owner_id = 15
AND NOT EXISTS (SELECT id FROM tm_kontakte kon1 WHERE kon1.besucher_id = adr1.id) 
AND NOT EXISTS (SELECT id FROM tm_eventbuchungen evb1 WHERE evb1.adress_id = adr1.id)
AND adr1.adr_kz = 2

cu,
Andreas a/k/a MudGuard