SQL: INSERT INTO tabelle ON DUPLICATE KEY UPDATE
Autor: Varsamis Karamanidis (Macky), Ralf v.d.Mark
eingetragen: Montag, 03. Mai 2021 um 15:51 Uhr (18/2021 Kalenderwoche)
geändert: Montag, 03. Mai 2021 um 16:03 Uhr (18/2021 Kalenderwoche)
Keywords: INSERT INTO tabelle DUPLICATE UPDATE
Kategorien: DB: MySQL, DB: MariaDB,
Text:
INSERT INTO tabelle ON DUPLICATE KEY UPDATE
Wichtig ist, das es einen Unique-Constaint oder einen Primay-Key auf die Felder gibt.
siehe auch PHP-Abfrage der Ergebnisse (Artikel 264)
Quellcode:
INSERT INTO fpd.f_foprojekt_ministeriumsreferat_verkn
(foprojekt_id, ministerium_referate_id, update_ts)
SELECT ext.pa_id, ext.rm_ministerium_referate_id, ext.pk_update_timestamp
FROM fpd.a_daten4import AS ext
INNER JOIN fpd.viewipa_ministerium_referate ref ON (ref.id = ext.rm_ministerium_referate_id)
INNER JOIN fpd.f_foprojekt prjkt ON (prjkt.id = ext.pa_id)
WHERE (ext.it_datensatz_fertig = 55
OR ext.it_datensatz_fertig = 66)
ON DUPLICATE KEY UPDATE
foprojekt_id = ext.pa_id,
ministerium_referate_id = ext.rm_ministerium_referate_id,
update_ts = ext.qt_update_zeitpunkt
;';