Ver Mensaje Individual
  #1 (permalink)  
Antiguo 19/05/2011, 07:55
kamasaki
 
Fecha de Ingreso: mayo-2011
Mensajes: 16
Antigüedad: 13 años
Puntos: 0
No me funciona restricción

Muguenas...

He creado estas dos tablas:

$query = "CREATE TABLE IF NOT EXISTS registrados (
registro_id INT UNSIGNED NOT NULL AUTO_INCREMENT,
...
..
...
CONSTRAINT pk_registro PRIMARY KEY (registro_id)
) ENGINE=MyISAM;



$query= 'CREATE TABLE IF NOT EXISTS amigos (
amigofuente INT UNSIGNED,
amigodestino INT UNSIGNED,
..
..
..
CONSTRAINT fk_amigos FOREIGN KEY (amigofuente,amigodestino) REFERENCES registrados(registro_id,registro_id)
) ENGINE=MyISAM;

Como ven, la segunda tabla trato de entablar relaciones (amigofuente conoce a amigodestino) y son valores ID que deben coincidir con la tabla registrados en su valor registro_id.

El FOREIGN KEY hace que amigofuente y amigodestino coincidan siempre con algún valor del registro_id en la tabla registrados.

Aunque al crear las tablas no me han devuelto ningun error, dentro de myphpadmin escribo:
insert into amigos (amigofuente) values (100)

y me mete dentro de la tabla amigos un valor 100 que no existe en la columna registro_id de la tabla registrados, por lo tanto la restricción no funciona.

¿que hago mal?

Muchas gracias por su tiempo y disculpad a este novato.