Mysql where子句接受主键字段上带字符串的整数

Mysql where子句接受主键字段上带字符串的整数,mysql,Mysql,在MySql中,我有一个主键字段id,当我从id='12p'的用户中选择*时,它会带来第12行的值 请问我该怎么办 已更新 Nodejs示例 const { User } = require('models') User.findOne({where:{id:'12p'}}).then(user => console.log(user)) 如果id列是int数据类型,MySQL返回的结果是“正确的”,因为MySQL将'12p'自动转换为int。。这就是为什么不应该在int数据类型上使用

在MySql中,我有一个主键字段id,当我从id='12p'的用户中选择*时,它会带来第12行的值

请问我该怎么办

已更新 Nodejs示例

const { User } = require('models')

User.findOne({where:{id:'12p'}}).then(user => console.log(user))

如果id列是int数据类型,MySQL返回的结果是“正确的”,因为MySQL将
'12p'
自动转换为int。。这就是为什么不应该在int数据类型上使用单个qoutes。注意:其他数据库系统在int数据类型上使用单qoutes时会给出错误。我在nodejs(sequelize)中使用ORM,并给出此问题。12p在变量中,所以我是否删除单引号?显示node.js代码?我已更新了问题。