gpt4 book ai didi

列表中的 mysql 仅验证列表中的第一个 id。也许是 Blob 问题

转载 作者:行者123 更新时间:2023-12-01 00:15:17 25 4
gpt4 key购买 nike

<分区>

我使用的系统使用逗号分隔值作为一对多关系。它以 blob 形式存储。

我尝试使用 MySQL IN (LIST),但最终只得到 uid 在列表中排在第一位或仅在列表中排在第一位的行。

mytable
uid categories
1 24,25,26
2 25
3 22,23,25
4 25,27

run sql:
SELECT * FROM mytable WHERE 25 IN (categories)

Result:
uid categories
2 25
4 25,27

Missing (should have been selected but are not)
uid categories
1 24,25,26
3 22,23,25

知道为什么字符串必须以 25 开头而不只是包含 25 吗?我猜这是一个字符串问题而不是 IN (LIST) 问题

更新 - 基于以下答案:

在 blob 上使用 th IN (LIST) 时,blob 被转换为 int 并且逗号和“数字”丢失。

改为使用 FIND_IN_SET(needle, haystack),它也适用于包含逗号分隔值的 blob。

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