Ver Mensaje Individual
  #4 (permalink)  
Antiguo 06/03/2014, 06:57
quimfv
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: Pasar clave foranea dos veces

Código MySQL:
Ver original
  1. CREATE TABLE PABELLON
  2.      (Codigo_pabellon INT NOT NULL,
  3.       Nombre VARCHAR(30),
  4.       Codigo_localidad INT(3),
  5.       PRIMARY KEY (Codigo_pabellon));
  6.  
  7. CREATE TABLE JORNADA
  8.       (Codigo_jornada INT NOT NULL AUTO_INCREMENT,
  9.       Numero INT(2),
  10.       Codigo_Competicion INT NOT NULL,
  11.       PRIMARY KEY(Codigo_jornada));
  12.      
  13. CREATE TABLE EQUIPO(
  14.       NIF VARCHAR(9) NOT NULL,
  15.       Nombre VARCHAR(30),
  16.       Direccion VARCHAR(20),
  17.       Telefono VARCHAR(20),
  18.       PRIMARY KEY (NIF));
  19.      
  20. CREATE TABLE EQUIPO_ARBITRAL(
  21.       DNI VARCHAR(9),
  22.       Licencia INT(3),
  23.       Nombre VARCHAR(20),
  24.       Apellidos VARCHAR(20),
  25.       Email VARCHAR(20),
  26.       Telefono INT(9),
  27.       Cuenta INT(20),
  28.       Cod_localidad INT(3),
  29.       PRIMARY KEY (DNI));
  30.  
  31. CREATE TABLE PARTIDO
  32.     (Codigo_Partido INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
  33.     EquipoA VARCHAR(9) NOT NULL,
  34.     EquipoB VARCHAR(9) NOT NULL,
  35.     Fecha DATE,
  36.     Hora TIME,
  37.     Codigo_pabellon INT NOT NULL,
  38.     Codigo_jornada INT,
  39.     ArbPrin VARCHAR(9),  
  40.     ArbAux VARCHAR(9),
  41.     Anotador VARCHAR(9),
  42.     Crono VARCHAR(9),
  43.     Op24 VARCHAR(9),
  44.         INDEX (EquipoA),
  45.     FOREIGN KEY (EquipoA)
  46.                REFERENCES EQUIPO (NIF),
  47.         INDEX (EquipoB),
  48.     FOREIGN KEY (EquipoB)
  49.                 REFERENCES EQUIPO (NIF),
  50.     INDEX (ArbPrin, ArbAux, Anotador, Crono, Op24),
  51.     FOREIGN KEY (ArbPrin, ArbAux, Anotador, Crono, Op24)
  52.                  REFERENCES EQUIPO_ARBITRAL (DNI, DNI, DNI, DNI, DNI),
  53.         INDEX (Codigo_pabellon),
  54.     FOREIGN KEY (Codigo_pabellon)
  55.                  REFERENCES PABELLON (Codigo_pabellon),
  56.     FOREIGN KEY (Codigo_jornada)
  57.                  REFERENCES JORNADA (Codigo_jornada));


Código MySQL:
Ver original
  1. ...
  2.         INDEX (EquipoA),
  3.     FOREIGN KEY (EquipoA)
  4.                REFERENCES EQUIPO (NIF),
  5.         INDEX (EquipoB),
  6.     FOREIGN KEY (EquipoB)
  7.                 REFERENCES EQUIPO (NIF),
  8.         ...


Eran dos claves foraneas, no una....bañera.


Deberias especificar mas cosas... el motor que quieres usar....etc)

Manual de CREATE TABLE
http://dev.mysql.com/doc/refman/5.0/...ate-table.html

Manual de FK
http://dev.mysql.com/doc/refman/5.0/...nstraints.html
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.

Última edición por quimfv; 06/03/2014 a las 07:06