MySQL - Problemas con Foreign Keys

 
Vista:

Problemas con Foreign Keys

Publicado por Fran (1 intervención) el 17/06/2005 17:16:36
Hola amigos, mi problema es el siguiente creo dos tablas y una esta referencianda a la otra mediante una clave foranea, el caso es q me crea las tablas perfectamente y puedo introducir datos bien, pero cuando si quiero meter un dato en la tabla de la foreign key, y el dato el cual es referenciado no existe en la otra tabla, me lo introduce y me debería salir un error de que ese elemento no al q se esta haciendo referencia no existe.
Para crear las tablas utilizo el sgtq codigo:

CREATE TABLE escritor (
id_escritor INT NOT NULL,
nombre VARCHAR(30) NULL,
apellidos VARCHAR(40) NULL,
direccion VARCHAR(100) NULL,
PRIMARY KEY(id_escritor)
) TYPE=InnoDB;

CREATE TABLE poema (
id_poema INT NOT NULL,
id_escritor INT NOT NULL,
titulo VARCHAR(50) NULL,
contenido TEXT NULL,
PRIMARY KEY(id_poema),
INDEX(id_escritor),
FOREIGN KEY(id_escritor) REFERENCES escritor(id_escritor)
ON DELETE CASCADE ON UPDATE CASCADE
) TYPE=InnoDB;

Si introduzco 2 escritores con id 1 y 2 y despues inserto poemas donde el id del escritor es 3 me lo inserta bien. Y no me lo deberia insertar,

Espero q me haya explicado bien.

Un saludo y gracias de antemano.

Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Problemas con Foreign Keys

Publicado por msi_ (1 intervención) el 22/06/2005 20:01:54
¿Conseguiste solucionarlo? Yo tengo casi el mismo problema ya que se que el error viene del diseño de las tablas. Quiero crear una tabla con una clave externa como tú pero cuando intento insertar en esa tabla me sale:

Cannot add or update a child row: a foreign key constraint fails

Si lo solucionaste, te agradecería que lo explicases
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar