UPDATE t1
LEFT JOIN
t2
ON t2.id = t1.id
SET t1.col1 = newvalue
WHERE t2.id IS NULL
Všimněte si, že pro SELECT
efektivnější by bylo použít NOT IN
/ NOT EXISTS
syntaxe:
SELECT t1.*
FROM t1
WHERE t1.id NOT IN
(
SELECT id
FROM t2
)
Podrobnosti o výkonu najdete v článku na mém blogu:
- Nalezení nekompletních objednávek
:výkon
LEFT JOIN
ve srovnání sNOT IN
Bohužel MySQL
neumožňuje použití cílové tabulky v poddotazu v UPDATE
prohlášení, proto se budete muset držet méně efektivního LEFT JOIN
syntaxe.