Código:
Lo que quiero es eliminar por ejemplo de la tabla PRODUCTO un producto de un usuario entonces lo que hago es primero borrar de la tabla PREFERENCIAS el producto de ese usuario y despues borrarlo de la de PRODUCTO.CREATE TABLE USUARIO( idUsuario int(15) NOT NULL AUTO_INCREMENT, userName varchar(50) NOT NULL, password varchar(50) NOT NULL, email varchar(100) NOT NULL, PRIMARY KEY (idUsuario) ); CREATE TABLE PRODUCTO( idProducto int(15) NOT NULL, fk_idUsuario int(15) NOT NULL, nombreProducto varchar(50), precio int(5), PRIMARY KEY (idProducto, fk_idUsuario), INDEX (fk_idUsuario), FOREIGN KEY (fk_idUsuario) REFERENCES USUARIO(idUsuario) ); CREATE TABLE PREFERENCIAS( idPreferencias int(15) NOT NULL AUTO_INCREMENT, fk_idUsuario int(15) NOT NULL, fk_idProducto int(15) NOT NULL, nombrePreferencia varchar(100), valorPreferencia varchar(100), PRIMARY KEY (idPreferencias), INDEX (fk_idUsuario), FOREIGN KEY (fk_idUsuario) REFERENCES USUARIO(idUsuario), INDEX (fk_idProducto), FOREIGN KEY (fk_idProducto) REFERENCES PRODUCTO(idProducto) );
Código:
Pero claro al ser clave foranea no me deja borrarla de la tabla producto... DELETE FROM preferencias WHERE (fk_idUsuario=1 && fk_idProducto=2); DELETE FROM producto WHERE (fk_idUsuario=1 && idPrdoducto=2);
¿Qué tendría que hacer para poderlo borrar?
Gracias.