【问题标题】:mysql/node.js - throw error when deleting a record that does not existmysql/node.js - 删除不存在的记录时抛出错误
【发布时间】:2014-09-11 02:44:48
【问题描述】:

我正在尝试使用 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”时,它不会引发错误。

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

感谢任何帮助。 :)

【问题讨论】:

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


    【解决方案1】:

    DELETE 未删除任何行的语句不会产生错误。但是,您可以检查results.affectedRows。如果为 0,则没有删除任何行。

    【讨论】:

      猜你喜欢
      • 2021-04-03
      • 2011-10-15
      • 2013-08-05
      • 1970-01-01
      • 2016-10-12
      • 1970-01-01
      • 2021-04-16
      • 2019-06-15
      • 1970-01-01
      相关资源
      最近更新 更多