Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

borrar datos de varias tablas

Estas en el tema de borrar datos de varias tablas en el foro de Mysql en Foros del Web. hola: tengo una duda ya que hasta ahora nunca lo habia usado, esta es mi base de datos: y necesito eliminar un talent y por ...
  #1 (permalink)  
Antiguo 09/02/2008, 16:22
Avatar de destor77  
Fecha de Ingreso: noviembre-2004
Ubicación: Gálvez, Santa Fe, Argentina
Mensajes: 2.654
Antigüedad: 19 años, 6 meses
Puntos: 43
borrar datos de varias tablas

hola:
tengo una duda ya que hasta ahora nunca lo habia usado, esta es mi base de datos:




y necesito eliminar un talent y por ende todos los datos referidos a el que se encuentran en las siguientes tablas:
users, telent-training, talent-photos, talen-courses, prereg-talents, experiencie, recuiters

Como seria la sentencia, ya que nunca trabaje con borrar datos en mas de una tabla.
Desde ya muchas gracias.
  #2 (permalink)  
Antiguo 10/02/2008, 00:52
 
Fecha de Ingreso: febrero-2008
Mensajes: 75
Antigüedad: 16 años, 3 meses
Puntos: 0
Re: borrar datos de varias tablas

Hola!
¿Que motor de Base de Datos estás usando?
  #3 (permalink)  
Antiguo 10/02/2008, 17:37
Avatar de destor77  
Fecha de Ingreso: noviembre-2004
Ubicación: Gálvez, Santa Fe, Argentina
Mensajes: 2.654
Antigüedad: 19 años, 6 meses
Puntos: 43
Re: borrar datos de varias tablas

uso mysql como base de datos.
  #4 (permalink)  
Antiguo 10/02/2008, 18:10
Avatar de m4xp0wer  
Fecha de Ingreso: septiembre-2007
Mensajes: 66
Antigüedad: 16 años, 7 meses
Puntos: 1
Re: borrar datos de varias tablas

http://dev.mysql.com/doc/refman/5.0/en/delete.html

Ahi ves como va el tema de borrar de varias tablas. Básicamente, es DELETE (tablas_a_borrar) from (tablas_para_hacer_la_consulta) where...

de esta forma, pondrías después del delete las tablas que quieres borrar, y después del from la sentencia de unión de tablas (con joins si quieres), más o menos como un select. El tema es que sólo se borrarán los datos de las tablas que estén después del DELETE (puedes usar más tablas para construir la consulta).

Por cierto, hay un hilo parecido a éste en la sección de MySql
  #5 (permalink)  
Antiguo 10/02/2008, 18:50
 
Fecha de Ingreso: febrero-2008
Mensajes: 75
Antigüedad: 16 años, 3 meses
Puntos: 0
Re: borrar datos de varias tablas

Una forma de eliminar un registro de la tabla padre y de todos sus hijos es con la sentencia
DELETE usando tablas InnoDB

Para eso cuando hiciste el create tuiviste que haber usado la sentencia "ON DELETE CASCADE" para la foreign key. Un ejemplito:

CREATE TABLE padre (id INT NOT NULL,
PRIMARY KEY (id)
) ENGINE=INNODB;

CREATE TABLE hijo (id INT, parent_id INT,
INDEX par_ind (parent_id),
FOREIGN KEY (parent_id) REFERENCES parent(id)
ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=INNODB;

Entonces cuando haces un delete de la tabla padre se borra esa referencia de las tablas hijos.

Saludos!
  #6 (permalink)  
Antiguo 11/02/2008, 10:54
Avatar de destor77  
Fecha de Ingreso: noviembre-2004
Ubicación: Gálvez, Santa Fe, Argentina
Mensajes: 2.654
Antigüedad: 19 años, 6 meses
Puntos: 43
Re: borrar datos de varias tablas

dax_noelia, el tema es que no usamos InnoDB sino myisam.
m4xp0wer, ahora veo el link y lo analizo
salu2
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:20.