首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL将整数列上的“a”转换为“0”。我能阻止这一切吗?

SQL将整数列上的“a”转换为“0”。我能阻止这一切吗?
EN

Stack Overflow用户
提问于 2016-03-18 13:37:26
回答 1查看 52关注 0票数 0

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)方法但没有成功

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-03-18 13:42:03

MySQL有一个选项可以关闭插入的此类转换。我不认为有一个选项可以关闭无声转换。

但是,您可以通过执行显式转换来强制错误:

代码语言:javascript
复制
where id = convert('a' as unsigned)

这应该会产生错误。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36085881

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档