如何通过插入查询

我已经创build了一个TCP服务器。 当请求到来时,服务器分析这些数据并从这些数据中提取mac_address。 根据mac_address Mysql查询从terminal表中select一行,并将数据推送到具有该mac_address和数据的报表。

问题是;

如果请求mac_address不在terminal表中,那么INSERT查询仍然会插入数据和terminal表包含的最后一个收到的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 

先谢谢你。