IN
accepterar en lista eller parametrar att söka, FIND_IN_SET
accepterar en strängparameter som innehåller en kommaseparerad lista:
SELECT 1 IN (1, 2, 3, 4)
SELECT FIND_IN_SET(1, '1,2,3,4')
Om du försöker använda IN
till en kommaseparerad sträng kommer den att behandla den som en enda parameter och matcha den som en helhet:
SELECT 1 IN ('1,2,3,4')
Naturligtvis strängen '1'
är inte lika med strängen '1,2,3,4'
så frågan ovan returnerar false.