Cita: #1005 - Can't create table 'bdgamestore.locales' (errno: 150) (Detalles...)
Esto implica que hay alguna restricción que se está violando, y tienes que comenzar siempre verificando la relación de FK, junto con los nombres de las constraint, si se indicaron manualmente.
Ahora bien, una regla fundamental e inviolable de una FK es que todo campo FK debe ser siempre:
- Del mismo tipo de columna que la PK referida.
- Si es numérica, debe ser del mismo rango (con signo o sin signo, y del mismo tamaño).
- Si es de caracteres, debe ser de la misma collation, charset y longitud.
- Si es de fecha, de la misma longitud.
En tu caso, estás definiendo el tipo como INT UNSIGNED en la PK de origen, y como INT con signo en la segunda. Y antes que me lo digas,
no, el "(1)" no representa la longitud de las cifras a almacenar. Es una restricción que se usa para otras cosas y no afecta el rango de representación de un número.
Los rangos de un INT con o sin signo los puedes ver el el manual de referencia:
http://dev.mysql.com/doc/refman/5.0/...umn-types.html