Ver Mensaje Individual
  #1 (permalink)  
Antiguo 22/04/2009, 03:09
dablin
 
Fecha de Ingreso: enero-2009
Mensajes: 148
Antigüedad: 15 años, 3 meses
Puntos: 0
problema al eliminar un elemento

Hola a todos! tengo la siguiente base de datos.

Código:
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)

);
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.

Código:
DELETE FROM preferencias WHERE (fk_idUsuario=1 && fk_idProducto=2);

DELETE FROM producto WHERE (fk_idUsuario=1 && idPrdoducto=2);
Pero claro al ser clave foranea no me deja borrarla de la tabla producto...

¿Qué tendría que hacer para poderlo borrar?

Gracias.