gpt4 book ai didi

mysql - 带有引号中的 id 列表的 IN 函数的奇怪结果

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

当我运行这段代码时,它会按预期返回所有具有列出 ID 的站点

SELECT * FROM `sites` WHERE id IN (142,150,40,42,21,99,162,110,121)

但这只返回 ID 为 142 的站点。为什么这甚至会返回一些东西?我本以为会出错。

SELECT * FROM `sites` WHERE id IN ("142,150,40,42,21,99,162,110,121")

最佳答案

MySql(正确地)不会查看字符串内部以查看它是否包含看起来像 in 列表的内容。

它只看到一个 in 列表,其中有一个字符串项目。您获得从 stringint 的隐式转换以转换该单个表达式。

但不是做明智的事情并引发错误,因为字符串 "142,150,40,42,21,99,162,110,121" 远不是一个有效的整数,它在第一个非数字字符处停止并且所以字符串转换为 142

因此您的查询被评估为 in (142)

关于mysql - 带有引号中的 id 列表的 IN 函数的奇怪结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37006902/

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