我有下面的SQL查询,它的工作:
await sequelize.query(
"DELETE FROM `table_name` WHERE (?) IN (?)",
{
replacements: ["project_id", projectIds],
type: QueryTypes.DELETE,
}
);
但我也想使用table_name
的替代品,如下所示:
await sequelize.query(
"DELETE FROM (?) WHERE (?) IN (?)",
{
replacements: ["table_name", "project_id", projectIds],
type: QueryTypes.DELETE,
}
);
但是这样做不起作用,并且会产生一个关于SQL语法的错误。我怎样才能使它起作用呢?
1条答案
按热度按时间lyr7nygr1#
您混合了数据值绑定和引用标识符。
回购协议中有一个古老的问题:https://github.com/sequelize/sequelize/issues/4494,听起来就像上面的问题。
我相信您可以创建一个考虑不同SQL方言的变通方案,如下所示:
假设您使用的是sequelize 6.x。