簡體   English   中英

需要幫助在node.js中使用回調編寫mysql更新查詢

[英]Need help to write mysql update query in node.js with callback

我是Node.js的初學者。 請幫忙解決這個問題。

沒有給WHERE子句更新工作正常。 下面是沒有“WHERE”子句的腳本:

var post  = {name: 'Amit', mobile:'123456'};
var query = connection.query('UPDATE contacts SET ? ', post , function(err, result) {});
console.log(query.sql);

輸出:

在此輸入圖像描述

現在我添加了'WHERE'子句..出現錯誤:

var post  = {name: 'Amit', mobile:'123456'};
var condition = {id:4};
var query = connection.query('UPDATE contacts SET ? ',post,' WHERE '+ condition , function(err, result) {});
console.log(query.sql);

輸出:

在此輸入圖像描述

根據api,你應該寫這樣的查詢:

connection.query('UPDATE contacts SET Name = ?,Mobile=? WHERE yourCondition = ?', [post.name,post.mobile,condition], function(err, result) {})

試試那段代碼:

var post  = {name: 'Amit', mobile:'123456'};
var condition = {id:4};
var query = connection.query('UPDATE contacts SET ? WHERE ?', [post, condition] , function(err, result) {});
console.log(query.sql);

試試這個,它適合我

connection.query('UPDATE nodeDB.USER SET USER_PASSWORD :Pass WHERE USER_NAME :Name',
  {Name: 'max',Pass: '123'}, function(err, rows) {
}); 

檢查我的代碼也適合你。

router.all('/setLoginDetails', function (req, res) {
    if(req.method == 'POST')
    {
        var Req = req.body;
    }
    else
    {
        var Req = req.query;
    }
    if(Req.lang == undefined || Req.lang == 'en')
    {
        const message = require('../lang/messages_en.json');
    }

    if(Req.id == undefined || Req.id == '')
    {
        return res.json({"success" : false, "Message" : message.REQUIRED , "data" : {} });
    }

    qb.select('id')
        .where({id: Req.id})
        .get('table', (err,rows) => {
            if (err || rows.length == 0)
            {

                return res.json({"success" : false, "Message" : "No data found", "data" : Response});
            }
            else
            {
                _.each(rows, function(record) {
                    var token = tokenGenerate();
                    qb.update('token', {token: token}, {driver_id:record.id}, (err, result) => {
                        if (err) return console.error(err);
                    });

                    qb.select('*').where({driver_id: record.id}).get(model.DriverLogin, (err,rows) => {
                        var lat = Req.lat;
                        var lng = Req.lng;
                        if(Req.lat == '')
                        {
                            lat = 0.0;
                        }
                        if(Req.lng == '')
                        {
                            lng = 0.0;
                        }
                        var updateData = {lat : lat ,lng : lng, status : 'free', screen : Req.device_info, driver_id : record.id};
                        if(rows.length > 0)
                        {
                            qb.update('localtion', updateData, {driver_id:record.id}, (err, result) => {
                                if (err) return console.error(err);
                            });
                        }
                        else
                        {
                            qb.insert(model.DriverLogin, updateData, (err, res) => {
                                if (err) return console.error(err);
                            });
                        }
                    });
                });

                return res.json({"success" : true, "Message" : "Data Updated", "data" : Response});
            }
        }
    );
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM