PHP: Zählen bei MySQL Insert-Or-Update
Autor: Varsamis Karamanidis (Macky)
eingetragen: Montag, 03. Mai 2021 um 15:42 Uhr (18/2021 Kalenderwoche)
geändert: Montag, 10. Mai 2021 um 08:20 Uhr (19/2021 Kalenderwoche)
Keywords: Zahlen MySQL Insert Update mysqli_affected_rows
Kategorien: DB: MySQL, PHP, DB: MariaDB,
Text:
INSERT INTO fpd.ffoprojektministeriumsreferatverkn
...
ON DUPLICATE KEY UPDATE
foprojektid = ext.paid,
ministeriumreferateid = ext.rmministeriumreferateid,
updatets = ext.qtupdate_zeitpunkt
Um die Zahlen für diese Query zu bekommen kann man untenstehende Syntax benutzen.
s.auch stackoverflow.com: "MySQL bei doppelter Schlüsselaktualisierung + betroffener Zeilenanzahl"
Quellcode:
$anzahlMysqliAffectedRows = mysqli_affected_rows($link);
//courtesy of user at big lake dot com - php.net
list($rec, $dupes, $warns) = sscanf(mysqli_info($link),
"Records: %d Duplicates: %d Warnings: %d");
$inserts = $anzahlMysqliAffectedRows - ($dupes * 2);
$updates = ($anzahlMysqliAffectedRows - $inserts)/2;
$uebersprungen = $rec - ($inserts + $updates);
$gesamt = $rec;
$echoAusgabeSammler .= '
<h3>Ergebnis für ' . $gesamt . ' Verknüpfungen zum "federführenden BMEL-Referat":
Es wurden '.$inserts.' hinzugefügt und '.$updates.' geändert!
Bei '.$uebersprungen.' Datensätzen wurde nichts geändert!
</h3>
';