Megpróbáltam jelezni, hogy nem én írom a kódot. Nem az a kérdés, hogy hogyan csináljam meg másként jól, hanem az, hogy ilyen esetben mi történik.
A kód ugyanis épít arra, hogy a sorrend az elsődleges kulcs sorrendje. Én azonban nem mondhatom azt erre, hogy ez egy hibás kód, ha a mysql valóban az elsődleges kulcs sorrendjét használja ilyen esetben.