Ver Mensaje Individual
  #3 (permalink)  
Antiguo 09/04/2014, 09:34
Avatar de HackID1
HackID1
 
Fecha de Ingreso: febrero-2013
Ubicación: En Update
Mensajes: 492
Antigüedad: 11 años, 2 meses
Puntos: 17
Respuesta: Borrar registro Fkey de 2 tablas Php

Hola quim gracias por tu ayuda, lo he solucionado.

Primero mirando el nombre de la foreign key con el comando.

show table trabajos ;

La respuesta es esta:

trabajos CREATE TABLE `trabajos` (
`codtrabajo` int(11) NOT NULL AUTO_INCREMENT,
`codcliente` int(11) NOT NULL,
`tipo_trabajo` varchar(20) DEFAULT NULL,
`estado` varchar(20) DEFAULT NULL,
`descripcion` text,
`precio` decimal(6,2) DEFAULT NULL,

PRIMARY KEY (`codtrabajo`),
KEY `codcliente` (`codcliente`),
CONSTRAINT `trabajos_ibfk_1` FOREIGN KEY (`codcliente`) REFERENCES `clientes` (`codcliente`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=latin1



El comando que realice para cambiar el nombre y poner ON DELETE CASCADE ON UPDATE CASCADE es este:

Código SQL:
Ver original
  1. ALTER TABLE trabajos
  2.   DROP FOREIGN KEY trabajos_ibfk_1;
  3.  
  4.  
  5. -- luego cambio el nombre y defino esas 2 condiciones que me has dicho.
  6.  
  7. ALTER TABLE trabajos
  8.   ADD CONSTRAINT FK_Clientes
  9.       FOREIGN KEY (codcliente)
  10.       REFERENCES clientes(codcliente)
  11.       ON DELETE cascade
  12.       ON UPDATE cascade;

Bueno con esto se supone que al borrar un registro de la tabla clientes, este también borrara todos los campos relacionados con el en la tabla trabajos no?
lo probaré y comento.

Muchas gracias amigo!!! algo más que aprendo hoy. saludos!! y gracias por vuestra ayuda a todos.
__________________
Puntuar +1 es buena forma de dar las gracias. :P
Your Time is limited, so don't waste it living someone else´s life.
Por: HackID1

Última edición por HackID1; 09/04/2014 a las 09:40