Din fråga översätts till
SELECT * FROM table WHERE id='1' or id='2' or id='3' or id='4';
Det kommer bara att returnera de resultat som matchar det.
Ett sätt att lösa det för att undvika komplexiteten skulle vara att ändra datatypen till SET
.Då kan du använda, FIND_IN_SET
SELECT * FROM table WHERE FIND_IN_SET('1', id);