Sequelize区分大小写的查询
Sequelize case-sensitive queries
我正在使用 sequelize,想知道如何将区分大小写的查询发送到我的数据库。
我有 table users
列 Login
。
当我发送请求时,(data.Login = '***0xwraith***')
,sequelize 为我找到了登录名 0xWraith
的用户。但我希望登录 0xWraith
和 0xwraith
是不同的和独立的。
这是我使用的代码:
let db_user = await db.users.findOne({
where: {
Login: data.login
}
});
MySQL的字符串比较默认不区分大小写。
如果您希望仅针对此查询进行区分大小写的查询,您可以在比较之前添加 BINARY 关键字以启用它。
SELECT * FROM users WHERE BINARY(`Login`) = '0xWraith';
您可以在 Sequelize 中编写查询,如下所示。
db.users.findOne({
where: sequelize.where(sequelize.fn('BINARY', sequelize.col('Login')), data.login)
})
如果您想将区分大小写设为 table 级别,请在此处阅读更多相关信息 https://dev.mysql.com/doc/refman/8.0/en/case-sensitivity.html。
我正在使用 sequelize,想知道如何将区分大小写的查询发送到我的数据库。
我有 table users
列 Login
。
当我发送请求时,(data.Login = '***0xwraith***')
,sequelize 为我找到了登录名 0xWraith
的用户。但我希望登录 0xWraith
和 0xwraith
是不同的和独立的。
这是我使用的代码:
let db_user = await db.users.findOne({
where: {
Login: data.login
}
});
MySQL的字符串比较默认不区分大小写。
如果您希望仅针对此查询进行区分大小写的查询,您可以在比较之前添加 BINARY 关键字以启用它。
SELECT * FROM users WHERE BINARY(`Login`) = '0xWraith';
您可以在 Sequelize 中编写查询,如下所示。
db.users.findOne({
where: sequelize.where(sequelize.fn('BINARY', sequelize.col('Login')), data.login)
})
如果您想将区分大小写设为 table 级别,请在此处阅读更多相关信息 https://dev.mysql.com/doc/refman/8.0/en/case-sensitivity.html。