0
我試圖讓最小的ID(由世界)未通過該SQL查詢中使用:兩個*相同* SQL語句在phpMyAdmin表現不同VS的NodeJS
"SELECT MAX(`objects`.`id`) as nextID FROM `objects` WHERE `objects`.`world`='1'"
的NodeJS:
var mysql = require('mysql');
var pool = mysql.createPool({
connectionLimit: 10,
host: '********',
user: '*********',
password: '*******',
database: databaseName
});
function getNextObjectID(worldID, cb) {
var q = "SELECT MAX(`objects`.`id`) as nextID FROM `objects` WHERE `objects`.`world`='"+worldID+"'";
console.log(q);
pool.query(q, function(err, results, fields) {
console.log(err);
console.log(results);
console.log(fields);
});
}
此前,我有一個更深入的方法,其中包括以前使用的ID,但它也有這個問題,所以我已經恢復到這個更簡單的方法。
我通過節點和phpmyadmin運行它。當節點這樣做時,它會自動插入世界ID(是的,我打印出實際的查詢,並得到它在執行時是相同的)。當phpmyadmin執行時,它返回14.當節點執行其很少14和大部分時間爲空。我不知道它爲什麼會改變。所有其他查詢的行爲正常。
查詢看起來很好。 – zerkms
你可以顯示請你的node.js代碼?也許這是競賽條件問題... –
我將它添加到帖子。 –