Mit den Testdaten von dieser Seite ...
https://www.mysqltutorial.org/mysql-update-join/
und dieser SQL-Anweisung:
MariaDB [test]> UPDATE employees
INNER JOIN
merits ON employees.performance = merits.performance
SET
salary = salary + salary * percentage;
wird sichtbar, wie die MariaDB-Shell dabei hilft, das aufgetretene Problem („matches exists, but nothing to do“) zu analysieren:
Query OK, 6 rows affected (0.011 sec)
Rows matched: 7 Changed: 6 Warnings: 0
Query OK - Kein Fehler bei Syntax, Namen oder Datentypen.
matched: 7 - Zeilen, die zum JOIN und zur WHERE-Clausel passen.
Changed: 6 - Zeilen, die tatsächlich verändert wurden. Entspricht affected rows.
Bevor jemand fragt: In der obigen Tabelle ist salary in einem Fall 0. 0+0*x=0, da gab es also nichts zu ändern.