代码:
const query = `SELECT DISTINCT :attribute FROM "users"`
sequelize.query(query { replacements: { attribute: attributes[0] } });
结果(由sequelize生成):
SELECT DISTINCT 'locale' FROM "users"
如何在没有单引号或双引号的情况下将属性传递给查询?
最佳答案
占位符,如 :attribute
represent query parameters .您不能使用它们来构建动态查询。
如果您需要更改正在查看的列,可以设置 query
至SELECT DISTINCT ${attributes[0]} FROM "users"
相反,但一定要确保 attributes[0]
不能包含用户输入,否则您的代码将容易受到 SQL 注入(inject)的攻击。
关于javascript - 行查询中的单引号( Sequelize ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48171091/