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', ... ] ]);
我有一个像这样的 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', ... ] ]);