Ver Mensaje Individual
  #2 (permalink)  
Antiguo 29/01/2016, 08:38
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años, 3 meses
Puntos: 2658
Respuesta: errores de sintraxis??

Bueno, por lo pronto, AUTO_INCREEMENT no es un tipo de dato. Es un modificador o atributo de un tipo de columna, que no es lo mismo.
Por otro lado, debes tener cuidado con usar palabras reservadas en los nomrbes de columna, como por ejemplo "code", ya que pueden disparar errores de dificil detección..

Esto te debería funcionar:
Código MySQL:
Ver original
  1.     name CHAR(35) NOT NULL,
  2.     countrycode CHAR(3) NOT NULL,
  3.     PRIMARY KEY (ch_id),
  4.     FOREIGN KEY(countrycode) REFERENCES CP(code) ON UPDATE CASCADE ON DELETE CASCADE);
Nota que al tipo de columna INT le he agregado un modificador "UNSIGNED", para evitar números negativos, que el AI no genera, y que ademas si los dejas como posibles tienden a permitir errores de los INSERT manuales, además de cortarte el rango por la mitad.
Adicionalmente te recomiendo que NO USES nombres de columnas tan genéricos como ID, sino que les pongas como prefijo algo que las relacione con la tabla a que pertenecen. De ese modo evitarás errores en las consultas cuando tengas que cruzar dos o mas tablas donde hay campos que tienen el mismo nombre, lo que en los JOIN implícitos puede generar resultados erróneos.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)