Du blandar typer. ID
är ett heltal (eller tal). Du jämför det med en sträng. Så MySQL måste bestämma vilken typ som ska användas för jämförelsen. Vilka typer används? Nåväl, ett snöre? Nej. Ett nummer. Strängen konverteras till ett tal med hjälp av de inledande siffrorna. Så det blir 101
och tändstickor.
Du bör egentligen bara jämföra siffror med siffror och strängar med strängar. Du kan försöka skriva koden som:
SELECT * FROM tableName WHERE ID = 101foo2
Däremot skulle du få ett fel. En annan möjlighet är att tvinga omvandlingen till en sträng:
SELECT * FROM tableName WHERE CAST(ID as CHAR) = '101foo2'