如何传递插入查询

时间:2017-06-15 17:13:29

标签: javascript mysql node.js sockets

我已经创建了一个TCP服务器。当请求到来时,服务器解析该数据并从该数据中提取mac_address。根据mac_address Mysql查询从终端表中选择一行并使用该mac_address和数据将数据推送到Report Table。

问题是;

如果请求mac_address不在终端表中,则INSERT查询仍会插入包含终端表所包含的最后一个接收到的mac_address的数据。

我期待服务器接收到未定义mac_adress的数据时,它应该告诉;

console.log('Error while performing SELECT Query.');

主程序:

var server = net.createServer(function(socket) {
socket.setEncoding('utf8')
socket.on('data', function(data) {
var reqdata = JSON.parse(data);
connection.query('SELECT * FROM terminal WHERE mac_address=?', [reqdata.mac_address], function(err, rows, fields) {
  if (!err) {
    for (var i = 0; i < rows.length; i++) {
      var row = rows[i];
      finaldata = {
        mac_address: row.mac_address,
        factory: row.factory,
        coop: row.coop,
        machine: row.machine,
      };
    }
  } else {
    console.log('Error while performing SELECT Query.');
  }
  connection.query('INSERT INTO report SET ?', finaldata, function(err, result) {
    if (!err) {
      console.log("RESULT : INSERTION OKAY");
      console.log("\n" + "END" + "\n");
    } else {
      console.log('Error while performing INSERT Query.');
      console.log("\n" + "END" + "\n");
    }
   });
   });
  });//socket.on
 socket.pipe(socket);
});//createServer

提前谢谢。

0 个答案:

没有答案