SQL将字符串('a')转换为integer列上的整数(0),如下文中所述:
Why does SELECT ... WHERE id = a returns a result if value is 0
有什么办法可以防止这种情况发生吗?例如:SELECT ... WHERE id = NO_CONVERT_STR('a')或类似的东西?我不想更改id列的数据类型
我尝试了CAST('a' AS CHAR)方法但没有成功
发布于 2016-03-18 13:42:03
MySQL有一个选项可以关闭插入的此类转换。我不认为有一个选项可以关闭无声转换。
但是,您可以通过执行显式转换来强制错误:
where id = convert('a' as unsigned)这应该会产生错误。
https://stackoverflow.com/questions/36085881
复制相似问题