【问题标题】:node-mysql returns column names instead of valuesnode-mysql 返回列名而不是值
【发布时间】:2019-09-19 19:20:26
【问题描述】:

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

【问题讨论】:

  • 我对节点不太了解,但我怀疑你可以参数化列或表名
  • @Mihai node-mysql 实际上很好,因为你可以。

标签: mysql node.js node-mysql


【解决方案1】:

您可以使用?? 占位符as per the documentation 参数化列名:

db.query('SELECT ?? FROM tablename', [ [ 'id', 'id', ... ] ]);

【讨论】:

  • 哇,这很简单,它解决了这个问题。非常感谢!
  • @Kilian - 如果这解决了您的问题,请考虑将其指示为已接受的答案,祝您的项目好运!
猜你喜欢
  • 1970-01-01
  • 2017-08-22
  • 2011-08-01
  • 2020-06-18
  • 2020-02-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多