gpt4 book ai didi

mysql:如果数字在列表字段中则选择行(即 userIDs = "1,2,3",从表中选择 *,其中 userIDs 为 1)

转载 作者:行者123 更新时间:2023-11-29 03:58:57 26 4
gpt4 key购买 nike

我将 ID 列表存储在字段中(列表是指 val1,val2,val3,...),我想从表中选择行,其中该字段在列表中有 valX .

我以为这行得通,但显然行不通:(

SELECT * 
FROM userbulletins
WHERE 25 IN `currentMessages`
OR 25 IN `removedMessages`
OR 25 IN `readMessages`

currentMessages、removedMessages 和 readMessages 是 ID 存储为列表的字段

我也试过

SELECT * 
FROM userbulletins
WHERE "25" IN(`currentMessages`)

两者都没有返回(并且应该在我的测试数据库中返回 1 行)

知道我做错了什么吗?或者这是否可能?谢谢!

最佳答案

如果我没理解错的话,你有一个非规范化表,其中 currentMessages 值可以是“val1,val2,val3,...”,你想找到其中一个值为 25 的行?如果是这样,请使用 FIND_IN_SET function :

WHERE FIND_IN_SET('25', `currentMessages`) > 0
OR FIND_IN_SET('25', `removedMessages`) > 0
OR FIND_IN_SET('25', `readMessages`) > 0

...但我真的建议规范化您的数据以使查询更容易。

关于mysql:如果数字在列表字段中则选择行(即 userIDs = "1,2,3",从表中选择 *,其中 userIDs 为 1),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3241799/

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