Uw vraag vertaalt naar
SELECT * FROM table WHERE id='1' or id='2' or id='3' or id='4';
Het geeft alleen de resultaten terug die ermee overeenkomen.
Een manier om het op te lossen en de complexiteit te vermijden zou zijn, het datatype te veranderen in SET
.Dan zou je FIND_IN_SET kunnen gebruiken
SELECT * FROM table WHERE FIND_IN_SET('1', id);