I run a global aircraft tracking website that gets around 90,000 hits a day. Its all built on Node-RED.
Some months back I did an update around the 1.3.0 point and it broke all my MySQL insert statements.
At that time I did a npm install node-red-nodes@0.6.0 and got back up and running in a few minutes.
Today I figured all that would be behind me and so did an update from around the 1.3.0 to 2.0.6.
Once again, all MySQL commands are broken.
This time the wind back did not work:
npm install node-red-nodes@0.6.0
npm ERR! code ETARGET
npm ERR! notarget No matching version found for node-red-nodes@0.6.0.
npm ERR! notarget In most cases you or one of your dependencies are requesting
npm ERR! notarget a package version that doesn't exist.
npm ERR! A complete log of this run can be found in:
npm ERR! C:\Users\tbg\AppData\Local\npm-cache\_logs\2021-09-06T19_36_49_563Z-debug.log
Why were these old versions removed?
Where did they go?
How can I walk it back?
Good point on the dev site... Been doing the same thing for 7 years and never had an issue so it simply never occurred to me.
The MySQL error from the debug tab is thus: Error: ER_PARSE_ERROR: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '20:11:33Z 06-09-2021', `flight` = '.', `tail` = '.N59DB', `callsign` = ':',...' at line 1
Its hard to run Node-RED at the moment, I get around 500,000 messages a day and they all go into the MySQL, so when I run it, the debug tab is just a blur or red errors and the whole thing is a bit slugish.
I use HeidiSQL and it works great. No errors at all.
No debugs are on. Its the MySQL node itself that is throwing the error in the debug tab.
Pretty sure there is no check box to tell it to mute its errors?
I cant catch any of my debugs in the high speed stream of error messages, so am running blind.
Have you added a catch node? Does it catch the error? If so, you could send that to a file node or log it in global context. You should see the msg (and more importantly, the topic containing the generated SQL statement). Once you have that you can test it in a client application.
There is some more information in the 'stack' payload I had not noticed in the catch node:
Error: ER_PARSE_ERROR: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '22:23:25Z 06-09-2021', `flight` = ':', `tail` = '.P4BFL', `callsign` = 'P4BFL...' at line 1
at Query.Sequence._packetToError (C:\Users\tbg\.node-red\node_modules\mysql\lib\protocol\sequences\Sequence.js:47:14)
at Query.ErrorPacket (C:\Users\tbg\.node-red\node_modules\mysql\lib\protocol\sequences\Query.js:79:18)
at Protocol._parsePacket (C:\Users\tbg\.node-red\node_modules\mysql\lib\protocol\Protocol.js:291:23)
at Parser._parsePacket (C:\Users\tbg\.node-red\node_modules\mysql\lib\protocol\Parser.js:433:10)
at Parser.write (C:\Users\tbg\.node-red\node_modules\mysql\lib\protocol\Parser.js:43:10)
at Protocol.write (C:\Users\tbg\.node-red\node_modules\mysql\lib\protocol\Protocol.js:38:16)
at Socket.<anonymous> (C:\Users\tbg\.node-red\node_modules\mysql\lib\Connection.js:88:28)
at Socket.<...
Unfortunately if you can't capture the SQL statement is very difficult to tell. However that does look like an UPDATE not an INSERT. Do you do any UPDATEs?