MySQL Node Error Report – Wrong Values Written to Database

I am encountering an issue with the MySQL “Update rows in a table” node.
The node successfully executes and returns success: true, but the data written to the database does not match the input values.

The input is correct — the extractor outputs the expected values, and these values are displayed correctly inside the MySQL node’s input panel.
However, when the update runs, different (incorrect) values end up in the corresponding columns in the database.

This means the mapping shown in n8n does not match the data actually written.


Expected Behavior

  • The values shown in the MySQL node’s input panel should be the values that get written into the database.

  • The node should update rows precisely according to the mapped fields.


Actual Behavior

  • MySQL update runs without errors.

  • The database is updated — but with wrong or mismatched data.

  • Column mappings are correct, table name is correct, “Map Each Column Below” mode is used, and chat_id is correctly matched.

  • The values stored in the database do NOT match the values shown in the input.

So the issue is not with the extractor and not with MySQL itself, but likely within the MySQL node’s internal mapping or data-handling logic.


Impact

This issue makes it impossible to trust MySQL update operations, because even a “successful” update may write incorrect data.
This is especially problematic for automated workflows, as it causes silent data corruption.


Additional Notes

  • Verified across multiple executions.

  • Different column orders and mapping modes tested.

  • Same result: incorrect values written.

  • Other MySQL operations (Select, Insert) work correctly.

  • The issue occurs only when updating multiple mapped fields based on node input.

Thank you!

This might be a bit easier to debug if you could copy/paste the workflow or maybe a simplified part of the workflow?

The tip link in the discourse reply window is broken, but this page is a working link on how to do this.

I was able to solve the issue — the problem was caused by string values being written into MySQL number columns. After converting the extracted values into proper numeric formats before the update, everything works as expected now.

Thanks again for the support!

This is a known n8n quirk: the MySQL Update node sometimes shows the right values in the UI but sends a different payload when mapping multiple fields. So MySQL updates fine, but with the wrong data.

The usual fixes people use on Reddit:

  • Add a Set node before the MySQL node to flatten/rename fields.

  • Or skip the mapper and use a RAW UPDATE query, which avoids the bug completely.

  • Updating n8n to the latest build also helps — older versions had this issue.

If the bad updates already messed up your table, tools like Stellar Repair for MySQL can recover the original InnoDB data when exports aren’t matching.