MySQL SELECT WHERE IN 查询问题
MySQL SELECT WHERE IN query issue
我有 works
table,列 id
、employer_key
、task_key
等。task_key
列包含任务键例如 122,142,
或只有一个键 124,
或更多。
我的问题是在查询时:
"SELECT * FROM works WHERE 122 IN(task_key)";
仅当 122 是列出的第一个数字时查询才有效,但如果我搜索 142,即列出的第二个数字,我不会得到任何结果。有谁知道为什么?
您可能应该更改架构,但要执行您想要的操作,您可以使用 FIND_IN_SET()
SELECT *
FROM works
WHERE FIND_IN_SET('122',task_key) > 0
我有 works
table,列 id
、employer_key
、task_key
等。task_key
列包含任务键例如 122,142,
或只有一个键 124,
或更多。
我的问题是在查询时:
"SELECT * FROM works WHERE 122 IN(task_key)";
仅当 122 是列出的第一个数字时查询才有效,但如果我搜索 142,即列出的第二个数字,我不会得到任何结果。有谁知道为什么?
您可能应该更改架构,但要执行您想要的操作,您可以使用 FIND_IN_SET()
SELECT *
FROM works
WHERE FIND_IN_SET('122',task_key) > 0