UPDATE t1
LEFT JOIN
t2
ON t2.id = t1.id
SET t1.col1 = newvalue
WHERE t2.id IS NULL
Beachten Sie das für ein SELECT es wäre effizienter, NOT IN zu verwenden / NOT EXISTS Syntax:
SELECT t1.*
FROM t1
WHERE t1.id NOT IN
(
SELECT id
FROM t2
)
Einzelheiten zur Leistung finden Sie im Artikel in meinem Blog:
- Unvollständige Bestellungen finden
:Leistung von
LEFT JOINim Vergleich zuNOT IN
Leider MySQL erlaubt nicht die Verwendung der Zieltabelle in einer Unterabfrage in einem UPDATE -Anweisung, deshalb müssen Sie sich an den weniger effizienten LEFT JOIN halten Syntax.