gpt4 book ai didi

MySQL FIND_IN_SET() 未按预期工作

转载 作者:行者123 更新时间:2023-11-29 15:33:56 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/58443149/

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