Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Llaves primarias y foraneas en MySql

Estas en el tema de Llaves primarias y foraneas en MySql en el foro de Mysql en Foros del Web. Quería consultar si este modelo de creación de tablas con sus respectivas llaves primarias y foráneas es correcta o como se podría mejorar ... gracias ...
  #1 (permalink)  
Antiguo 20/04/2013, 14:09
 
Fecha de Ingreso: diciembre-2012
Ubicación: Ayacucho
Mensajes: 3
Antigüedad: 11 años, 11 meses
Puntos: 0
Llaves primarias y foraneas en MySql

Quería consultar si este modelo de creación de tablas con sus respectivas llaves primarias y foráneas es correcta o como se podría mejorar ... gracias

Código MySQL:
Ver original
  1. CREATE TABLE PAIS (
  2. ID_PAIS                 INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY;
  3. NOMBRE_PAIS             CHAR(50) NOT NULL,
  4. );

Código MySQL:
Ver original
  1. CREATE TABLE DEPARTAMENTO (
  2. ID_DPTO                 INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
  3. NOMBRE_DPTO             CHAR(50) NOT NULL,
  4. ID_PAIS                 INT NOT NULL,
  5. FOREIGN KEY (ID_PAIS) REFERENCES PAIS(ID_PAIS)
  6. );

Última edición por gnzsoloyo; 20/04/2013 a las 15:05
  #2 (permalink)  
Antiguo 20/04/2013, 15:06
Avatar de 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
Puntos: 2658
Respuesta: Llaves primarias y foraneas en MySql

Por lo pronto, la segunda tabla te dará error al crear la tabla porque la FK debe ser exactamente del mismo tipo de dato que en la PK referida, y en tu caso uno es un INT UNSIGNED y el otro es un INT con signo...
Si no te diese error sería porque estás usando tablas MyISAM, donde las FK no existen y por tanto está ignorando la cláusula.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: llaves, tabla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:45.