2016-08-02 14 views
0

下面的MySQL命令已在phpmyadmin上測試過,並且工作正常。該命令沒有任何問題。當我嘗試使用它的Node.js,我不能獲得更新的ID的結果,我也得到undefinedresults參數當我嘗試獲取最後一次更新的行的id時,我得到undefined

function registerNewAccount(username, password, name, family, mobileNumber, callback) { 

    var query = "SET @update_id := 0; UPDATE users SET username = ?, password = ?, name= ?, family = ?, id = (SELECT @update_id := id) WHERE mobileNumber = ?; SELECT @update_id;"; 
    connection.query(query, [username, password, name, family, mobileNumber] , function (err, results) { 
     if (err) return callback(false); 

     console.log(results); 
    }); 
} 

我試圖獲得最後更新行的id使用此命令。我該如何解決這個問題?

+0

這似乎有更多的是與MySQL不是JavaScript或者Node.js的... –

回答

2

您需要創建連接是這樣的:var connection = mysql.createConnection({multipleStatements: true});

+0

非常感謝主席先生,問題解決 –

+0

@mahdipishguy酷。請接受我的回答 –

+0

你能幫我嗎?我如何從這個結果得到'@ update_id',它是結果變量的內容? '[OkPacket { 段計數:0, affectedRows:0, insertId:0, changedRows:0}, OkPacket { 段計數:0, changedRows:1}, [RowDataPacket { '@update_id':29} ]]' –

相關問題