我正在尝试通过搜索ID来获取我的表中的所有行(ID是自动递增的)。
我正在尝试这样的事情:
SELECT *
FROM table
WHERE something = 'yes' AND (csvstring)
其中csvstring是这样的:4,53,34,23
问题在于我认为你不能这样做。 我试过“WHERE id IN(csvstring)”,因为我在谷歌上搜索但是没有用
任何帮助将不胜感激!
答案 0 :(得分:1)
SELECT *
FROM table
WHERE something='yes' AND id IN (4,53,34,23)
这不起作用?编辑:刚试过它,它确实有效。
答案 1 :(得分:0)
id IN (csvstring)
中的原因是因为查询将csvstring
解析为整个字符串而不是特定的ID。您希望这样:id IN (4, 53, 34, 23)
,但查询会将其视为此id IN ('4, 53, 34, 23')
也许 FIND_IN_SET 适合您。
尝试一下这个,
SELECT... FROM... WHERE something='yes' AND id IN (4,53,34,23)