我正在开发nodejs/express 应用程序。在我的 route ,我需要从 MySQL 数据库查询数据。对于包含参数的查询,它工作得很好。 任何不带参数的查询都会按预期工作:
SELECT * FROM table WHERE col = 'b'
但是下面的返回undefined
SET @a = 'b'
SELECT * FROM table where col = @a
我在单独的函数中生成查询字符串(不确定这是否有任何区别)。 任何帮助将不胜感激。
最佳答案
我认为您可能正在寻找 ?
占位符方法,如
https://www.w3schools.com/nodejs/nodejs_mysql_where.asp
var adr = 'Mountain 21';
var sql = 'SELECT * FROM customers WHERE address = ?';
con.query(sql, [adr], function (err, result) {
if (err) throw err;
console.log(result);
});
还有多个占位符,以数组形式传入:
var name = 'Amy';
var adr = 'Mountain 21';
var sql = 'SELECT * FROM customers WHERE name = ? OR address = ?';
con.query(sql, [name, adr], function (err, result) {
if (err) throw err;
console.log(result);
});
关于mysql - nodejs 表达 mysql 查询 'SET @' XXX'',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53973840/