首页 > 解决方案 > 插入语句节点-Red、MySQL、JSON

问题描述

我有以下节点红色流: 节点红色流

问题在于插入语句。我想在 mysql 表中插入测量值,如下所示: MySql Table schema

我当前的插入语句如下所示:

var nodeID= parseInt(msg.payload.nodeID);
var temperature= parseFloat(msg.payload.temperature);
var values = {"temperature": temperature};

msg.topic = "INSERT INTO measurements (nodeID,values) VALUES ('"+nodeID+"', '"+JSON.stringify(values)+"')";
msg.payload = [nodeID, temperature];
return msg;

这给了我以下错误:
“错误:ER_PARSE_ERROR:您的 SQL 语法有错误;请查看与您的 MySQL 服务器版本相对应的手册,以了解在“值”附近使用的正确语法)值(“1”,“{”温度“:24.125}')'在第1行”

有人能帮我吗?我不知道出了什么问题?谢谢 :)

标签: mysqljsoninsertnode-red

解决方案


您应该使用 msg.topic = `INSERT INTO 测量值 (nodeID,values) VALUES

('${nodeID}','${JSON.stringify(values)}')`;


推荐阅读