node-mysql returns 列名而不是值

node-mysql returns column names instead of values

我有一个像这样的 mysql 查询:'SELECT ? FROM tablename' 和一个像这样的 args 数组:['id']。 当我调用 db.query(sql, args) 时,结果是一个数组 ['id', 'id', 'id'] 用于数据库 table 中的每一行,而不是其中包含数据库中的值 [1,2,3]。 如果列名包含在 sql 字符串中,它就可以正常工作。我真的不知道为什么会这样。有没有其他人遇到这样的问题并且有解决方案?

您可以使用 ?? 占位符 as per the documentation:

参数化列名
db.query('SELECT ?? FROM tablename', [ [ 'id', 'id', ... ] ]);