Usa para tus "id" (en general campos numericos como INT .. etc ..) definición como "UNSIGNED" (sin signo). Sino, estás perdiendo la mitad (negativo) de ese rango de n° que puede generar dicho tipo de campo. Tu vas a usar "ID" positivos ... nunca negativos.
Fijate en las diferencias:
Cita: INT[(M)] [UNSIGNED] [ZEROFILL]
A normal-size integer. The signed range is -2147483648 to 2147483647. The unsigned range is 0 to 4294967295
http://dev.mysql.com/doc/refman/5.0/...-overview.html
Un saludo,