Nodejs从表中删除但选择不起作用

时间:2017-08-03 06:20:29

标签: mysql node.js express

user_id=3;
//Delete from table query working perfect
db.query("DELETE FROM table WHERE user_id=" + user_id, function(dberr,dbres){
    addUserInventories(detail, req, function(err,invres){                       
        getHomePageDataWithInvntory(req, function(request, response){
            callback(null, response);
        });
    });
});

//Here add record in table 
function addUserInventories(detail, req, callback){
//After insertion called following and working perfect
     return callback(null, null);
});


//Here retrieve record from table but not getting result after delete and insert operation
function getHomePageDataWithInvntory(req, callback){
    user_id=3;
    db.query("SELECT * FROM table WHERE user_id=" + user_id, function(err, results){
          callback(null, results);  //Here result getting empty array
    });
 });
  

在上面的代码删除记录和插入记录工作完美但检索记录无法正常工作。

     

注意:SQL Query和In日志文件中没有任何语法错误,它会打印SELECT * FROM table WHERE user_id=3

1 个答案:

答案 0 :(得分:0)

当我遇到这种错误时,我总是用同样的过程保存它们:

  1. console.log您的查询字符串,然后再使用它
  2. 使用数据库客户端,如Sequel Pro,MySQL Workbench for sql
  3. 在客户端中手动复制粘贴查询并运行
  4. 通常,您会收到语法错误,只需在数据库客户端中解决它,您的解决方案就可以正常工作
  5. 数据库客户端不是必需的,因为您可以使用命令行运行查询,但客户端将是一个更简单的接口,更有可能为您提供有关语法错误的更多详细信息。

    你能试试这个过程吗?如果您没有成功解决数据库客户端中的语法错误,可以将查询放在此处,以便我们为您提供帮助

    以防万一: 与您的示例相比,如果您无法执行此操作,我将使用此模式记录查询,这会让您了解如何在你的代码中做到这一点

    //Here retrieve record from table but not getting result after delete and insert operation
    function getHomePageDataWithInvntory(req, callback){
      user_id=3;
      var queryString = "SELECT * FROM table WHERE user_id=" + user_id;
      console.log(queryString);
    
      db.query(queryString, function(err, results){
          callback(null, results);  //Here result getting empty array
      });
    });