mysql - nodejs用'SET @'XXX''表达mysql查询
问题描述
我正在开发 nodejs/express 应用程序。在我的路线中,我需要从 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 - MySQL WorkBench vs CC 无法连接到服务器
- r - 如何交换数据框同一列中的行值?
- firebase - Firestore 事务更新多个文档
- python - 图书发行过程的python程序
- hyperledger-fabric - Hyperledger Fabric 中动态设置环境变量的可行性
- python - Google Firebase:使用 Python 获取、更新或创建文档
- windows - 如何在主机密码更改后恢复对 Windows 共享文件夹的访问?
- anaconda - 如何在 anaconda 上安装 tensorflow-transform?
- python - AttributeError:“DataFrame”对象没有属性“compute”
- amazon-web-services - 访问 s3 存储桶