我正在使用sequelize,我想知道如何将区分大小写的查询发送到我的数据库。
我有一个列为Login
的表users
。
当我发送请求(data.Login = '***0xwraith***')
时,sequelize会找到具有登录0xWraith
的用户。但是我希望0xWraith
和0xwraith
的登录是不同的,并且是分开的。
这是我使用的代码:
let db_user = await db.users.findOne({
where: {
Login: data.login
}
});
发布于 2021-07-22 07:08:33
MySQL的字符串比较默认不区分大小写。
如果您希望仅针对此查询使用区分大小写的查询,您可以在比较之前添加BINARY关键字以启用它。
SELECT * FROM users WHERE BINARY(`Login`) = '0xWraith';
您可以在Sequelize中编写查询,如下所示。
db.users.findOne({
where: sequelize.where(sequelize.fn('BINARY', sequelize.col('Login')), data.login)
})
如果您想启用表级别的区分大小写,请在https://dev.mysql.com/doc/refman/8.0/en/case-sensitivity.html阅读更多信息。
https://stackoverflow.com/questions/68471002
复制相似问题