gpt4 book ai didi

php - SELECT - 拆分字段内容

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

我的 table

id | email  | values
1 | a@a | 2,3,
2 | b@b | 1,3,
3 | c@c | 2,

如何将 VALUES 字段中的数字与 ID 中的数字进行比较

$sql = "SELECT * FROM table WHERE email = 'c@c' AND id NOT LIKE (each id column) ";

结果 = ID 1

最佳答案

关于数据库规范化的几点是正确且非常重要的:

  • 您不应在一个字段中存储多个值。
  • 您不应将数字存储为字符串。
  • 您应该正确声明所有外键关系,您不能使用这样的列表。
  • SQL 的字符串处理能力很差。
  • 表具有用于存储列表的非常好的数据结构。它被称为

也就是说,有时我们会受制于其他人非常、非常、非常糟糕的设计决策。 MySQL 有一个方便的解决方法(在我看来太方便了),称为 find_in_set():

SELECT t.*
FROM t.table WHERE email = 'c@c' AND
find_in_set(t.id, values) = 0;

关于php - SELECT - 拆分字段内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49616345/

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