mysql / node.js - 删除不存在的记录时抛出错误

时间:2014-07-20 13:06:40

标签: mysql node.js error-handling sql-delete

我正在尝试使用SQL Delete语句删除记录,并尝试查找具有在表单中输入的特定值的“conkey”的任何记录。

我的代码:

  var sqlQueryCommand = 'DELETE FROM `DATABASE`.`CON_LOOKUP` WHERE conkey=' + connection.escape(req.body.conkey);
        applogger.info('sqlQueryCommand: ' + sqlQueryCommand);
            connection2.connect(function(err){
                if(err && jslog == 1){
                    logger.debug('Connection 2 Error:' + err);
                 }
            });


                connection2.query(sqlQueryCommand, function(match_err_QC, results) 
                    { 

                    //  Check for error from SQL
                    if (match_err_QC) throw match_err_QC;     
                    else{
                        var response_json = {
                          "app": appname,
                          "response_code": "1",
                          "conkey": connection.escape(req.body.conkey),
                          "response": "success"
                        };
                        var response_text = JSON.stringify(response_json);
                        response.writeHead(200, {
                          'Content-Length': response_text.length,
                          'Content-Type': 'text/plain' });
                        response.write(response_text);
                        response.end();
                   }

                 });

当我输入数据库中不存在的'conkey'时,它不会抛出错误。

我不确定是否应先检查记录然后删除它们,或者只是在我的代码中添加一块。

感谢任何帮助。 :)

1 个答案:

答案 0 :(得分:2)

没有删除任何行的

DELETE语句不会生成错误。但是你可以做的是检查results.affectedRows。如果它为0则没有删除任何行。