Diese Frage ist sehr einfach, aber ich habe noch keine Antwort gefunden, durch die Suche nach "UPDATE JOIN INSERT" und andere Sachen wie diese.UPDATE JOIN -> EINFÜGEN AUF NULL
Ich brauche ein UPDATE für zwei Tabellen ('main' und 'sub'), während eine Datenmenge möglicherweise nicht existiert. dann sollte ein einfacher INSERT vor ... in einer Anweisung ausgeführt werden.
"Haupt" immer vorhanden.
'sub' nicht.
Meine verträumt-SQL-Lösung ist diese:
UPDATE main LEFT JOIN sub on main.primary=sub.primary
SET main.foo='bar', sub.foo2='bar2'
CASE sub.primary IS NULL {INSERT INTO sub SET sub.primary=main.primary};
Der ‚Case'-Teil ist Freestyle und wird vermutlich nicht funktionieren. Aber was ist der richtige Weg?
Es muss unbedingt ein "UPDATE [...] LINKE VERBINDUNG [...] SET a = aVal, b = bVal, [...]" - Anweisung sein. Es muss erweiterbar sein für bis zu 5 LINKE JOIN-Tabellen und funktioniert ohne "SET (..) WERTE (..)"
Gibt es eine mögliche Lösung?
die Logik umkehren, und um, dass Google stattdessen – Strawberry
INSERT INTO Tabelle ... ON DUPLICATE KEY UPDATE ... – Mike
Gibt es einen Grund 'Es muss unbedingt ein" UPDATE [...] LINKE VERBINDUNG [...] SET a = aVal, b = bVal, [...] "- Erklärung? – Pachonk