gpt4 book ai didi

MySQL FIND_IN_SET() 未按预期工作

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

我有下表:

... | parents_id   | ...
________________________
... | 1, 40, 7 | ...
... | 10, 4, 7, 1 | ...
... | 45, 40, 1, 7 | ...
... | other_rows | ...

现在,我需要获取这三行,我使用此查询 SELECT * FROM products WHERE FIND_IN_SET(1, parents_id) > 0,但我只获取第一行 (1 , 40, 7), 有什么帮助吗?

最佳答案

As per documentation - FIND_IN_SET 的第二个参数是逗号分隔列表。因此,值 10, 4, 7, 1 被逗号分隔为以下 4 个值:

  1. 10
  2. 4 - 空格后跟 4
  3. 7 - 空格后跟 7
  4. 1 - 空格后跟 1

它们都不等于1

解决方案:停止使用这种方法并规范化您的架构以使用一对多(或多对多)。

关于MySQL FIND_IN_SET() 未按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25011550/

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