gpt4 book ai didi

php - 如何检查存储在数据库中的数组中是否存在值

转载 作者:行者123 更新时间:2023-11-29 05:03:04 25 4
gpt4 key购买 nike

我有一个数据库,其中时刻包含用户 ID 和 friend ID。 friend_ids 被保存为一个数组。我有一个页面应该显示所有的时刻。我想检查包含特定 ID 的时刻。例如,我创建了一个我自己的时刻,所以我的 ID 在 user_id 字段中,但我的一个 friend 也创建了一个时刻,所以我在 friend_ids 中。如果我的 id 出现在 user_id 或 friend_ids 表中,现在我需要检查这个页面。如何检查数据库中的数组中是否存在值?我是否必须获取所有记录并循环遍历它们以检查数组,还是有更好的方法?

数组在数据库中看起来像这样:

[2,3]   

这就是我的数据库模式现在的样子,我还没有在表之间设置任何关系。 This is how the database looks like right now

最佳答案

作为一般性建议,这不是将内容存储在数据库中的好方法。您最好创建一个联结表来保存每对用户的友谊状态。

如果你不能这样做,你可以砍掉第一个和最后一个字符([]),然后使用 find_in_set在剩余的逗号分隔字符串上:

SELECT *
FROM mytable
WHERE SELECT FIND_IN_SET(123, TRIM(TRAILING ']' FROM TRIM(LEADING '[' FROM friend_ids))) > 0
-- Just an example -------^

关于php - 如何检查存储在数据库中的数组中是否存在值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54158043/

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