MySQL - No me realiza el ON DELETE CASCADE;

 
Vista:

No me realiza el ON DELETE CASCADE;

Publicado por Miguel (1 intervención) el 24/04/2007 17:34:51
Hola a todos!!

A ver si alguien me podria responder la siguiente duda que tengo con respecto a la referencia integral. Que no me realiza el ON DELETE CASCADE.

OS COMENTO TENGO LAS SIGUIENTES TABLAS.

CREATE TABLE clientes(
ID_CLIENTE TINYINT(3) PRIMARY KEY NOT NULL AUTO_INCREMENT,
NOMBRECOMPAÑIA varchar(20),
NOMBRECONTACTO varchar(15),
CARGOCONTACTO varchar(15),
DIRECCION varchar(30) not null,
CIUDAD varchar(20) not null,
COD_POSTAL char(9) not null,
PAIS SET('ESPAÑA','FRANCIA','HOLANDA','BELGICA','IRLANDA','ALEMANIA','NORUEGA','RUSIA','SUECIA','PORTUGAL','HUNGRIA') NOT NULL,
TELEFONO double(9) not null )TYPE=INNODB;

CREATE TABLE pedido (
ID_PEDIDO TINYINT(3) PRIMARY KEY NOT NULL AUTO_INCREMENT,
ID_CLIENTE TINYINT(3) NOT NULL,
ID_EMPLEADO TINYINT(3) NOT NULL,
FECHA_PEDIDO DATE NOT NULL,
FORMA_ENVIO char(10) not null,
CARGO varchar(10),
DESTINATARIO varchar(20) not null,
DIRECCIONDESTINATARIO varchar(30) not null,
CIUDADDESTINATARIO varchar(20) not null,
REGIONDESTINATARIO varchar(10) not null,
codigo TINYINT(9) not null,
PAISDESTINATARIO SET('ESPAÑA','FRANCIA','HOLANDA','BELGICA','IRLANDA','ALEMANIA','NORUEGA','RUSIA','SUECIA','PORTUGAL','HUNGRIA'),
INDEX(ID_CLIENTE),
INDEX(ID_EMPLEADO),
FOREIGN KEY(ID_CLIENTE) REFERENCES clientes(ID_CLIENTE) ON DELETE CASCADE,
FOREIGN KEY(ID_EMPLEADO) REFERENCES empleados(ID_EMPLEADO) ON DELETE CASCADE )TYPE=InnoDB;

Cuando realizo en

mysql>DELETE pedido WHERE ID_CLIENTE=3;

Me sale un Error 1217: Cannot delete or update a parent row: a foreign key constraint

Alguien me podria decir cual es el fallo si tengo bien definidas las tablas y porque no me deja borrar el registro en dos tablas que tengo el mismo ID CLIENTE. UN SALUDOO!!!
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