【问题标题】:single quotes in row query (sequelize)行查询中的单引号(续集)
【发布时间】:2018-06-18 15:49:32
【问题描述】:

代码:

const query = `SELECT DISTINCT :attribute FROM "users"`

sequelize.query(query { replacements: { attribute: attributes[0] } });

结果(由sequelize生成):

SELECT DISTINCT 'locale' FROM "users"

如何在没有单引号或双引号的情况下将属性传递给查询?

【问题讨论】:

标签: javascript sql node.js postgresql sequelize.js


【解决方案1】:

:attributerepresent query parameters 等占位符。您不能使用它们来构建动态查询。

如果您需要更改正在查看的列,您可以将query 设置为SELECT DISTINCT ${attributes[0]} FROM "users",但一定要确保attributes[0] 不能包含用户输入,否则您的代码将容易受到SQL 注入的攻击。

【讨论】:

  • 其他几个解决方案有效,但这个没有,可能是因为它是数组 =_=
猜你喜欢
  • 2015-10-13
  • 1970-01-01
  • 1970-01-01
  • 2020-11-22
  • 2018-01-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多