gpt4 book ai didi

MySQL在where子句中自动将字符串转换为整数?

转载 作者:行者123 更新时间:2023-11-29 01:38:09 25 4
gpt4 key购买 nike

我不是 MySQL 的新手,但今天巧合地在我的代码中发生了一个奇怪的情况,这让我感到惊讶。有人可以解释为什么这会给我相同的结果吗?

SELECT * FROM `products` WHERE id = 12

SELECT * FROM `products` WHERE id = '12ABC'

在这两种情况下,我都选择了相同的记录,得到相同的结果。我希望第二个不会给我任何返回?!我的 ID 字段是 int(11) unsigned 并打开了 auto_increment 标志。

最佳答案

来自 MySQL 文档:

When an operator is used with operands of different types, type conversion occurs to make the operands compatible

Documentation

所以基本上,'12ABC' 被转换为 12

关于MySQL在where子句中自动将字符串转换为整数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33543671/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com