我在用nodejs开发,使用mysql库查询数据库。有没有一种方法可以让ORDER BY和顺序方向(ASCDESC)有占位符,而不是直接将它们连接到查询中。所以我们会有这样的东西。SELECT * FROM users WHERE department_id=? ORDER BY ? ?
然后把值放在这样的地方。
connection.query(query, [12, 'last_name', 'DESC'], function (executionError, result) {
if (executionError) {
reject(executionError);
} else {
resolve(result);
}
});
根据 文件 你应该试试这样的东西。
const sort = connection.escapeId('last_name');
const direction = connection.escapeId('DESC');
const query = `SELECT * FROM users WHERE department_id=? ORDER BY ${sort} ${direction}`;
connection.query(query, [12], function (executionError, result) {
if (executionError) {
reject(executionError);
} else {
resolve(result);
}
});