我有一个mysql表,如下所示:

| ID |  userIDs
---------------
|  1 | 4,3,5
|  2 | 2,3
|  3 | 1,2,3

我想检索用户id不包含1的所有行。
我试过了
SELECT * FROM tablename  WHERE 1 NOT IN (userIDs)

但它不起作用。有人能帮忙吗?

最佳答案

使用FIND_IN_SET

SELECT * FROM tablename
WHERE find_in_set(1, userIDs) = 0

但实际上你应该改变你的桌子设计。不要在一列中存储多个值!

09-04 18:31