1
npm(https://npmjs.org/package/mysql)上node-mysql的文檔有一個用於表連接中列名重疊的選項,如下所示:帶選項的轉義查詢帶有重疊列名的連接
var options = {sql: '...', nestTables: true};
connection.query(options, function(err, results) {
/* results will be an array like this now:
[{
table1: {
fieldA: '...',
fieldB: '...',
},
table2: {
fieldA: '...',
fieldB: '...',
},
}, ...]
*/
});
逃離查詢標識符格式傳遞一個第二參數去的connection.query()
是進行消毒標識符:
connection.query('SELECT * FROM users WHERE id = ?', [userId], function(err, results) {
// ...
});
我想知道如何使用這兩個在一起嗎?說你一定要逃逸一個連接標識符,但要聲明的選項爲嵌套表:
var sqlString: 'SELECT * FROM TableOne INNER JOIN TableTwo ON TableOne.id = TableTwo.tableone_id WHERE TableOne.id = ?';
var options = {sql: sqlString, nestTables: true};
connection.query(options, function(err, results) {
...
});
我試圖通過逃避值作爲第二PARAM在connection.query()
像這樣:
var sqlString: 'SELECT * FROM TableOne INNER JOIN TableTwo ON TableOne.id = TableTwo.tableone_id WHERE TableOne.id = ?';
var options = {sql: sqlString, nestTables: true};
connection.query(options, 1, function(err, results) {
...
});
但無濟於事。我想知道是否有這樣做?
我知道這是過時的,但我碰到它,而尋找一個快速的答案,然後決定發佈我的解決方案。 –