Título: foreing Key en la misma tabla Publicado por: David Vans en 22 Febrero 2013, 00:18 am Hola todos.
Tengo un problema con una tabla MYSQL con 4 campos MYSQL id_user id_padre container_padre nombre por ejemplo id_user id_padre container_padre nombre 1 1 0 padre 1 2 1 hijo1 1 3 1 hijo2 1 4 3 hijo_de_2_y_nieto_de_padre Mi problema es que queiro eliminar el padre tambien todos sus hijos y sub hijos. por ejemplo con este ejemplo al eliminar padre que es id_padre=1 tendria que eliminar todoslos que tengan container_padre=1 y a su vez eliminar hijo_de_2_y_nieto_de_padre ya que hijo2 tambien lo he eliminado. Como si fuera un arbol de directorios pero no es el caso. conatiner_padre=0 es como si fuera la raiz y si no es 0 es el id_padre del contenedor. Estoy usando MYSQL he probado estos motores MyISSAM y INNOBD y no consigo nada. No se si puede hacer con foreing key o como puedo crear la consulta, Es para una web en PHP, he pensado crear un consulta recursiva para recorrer todo pero el proceso seria muy lento si son 700 elementos tendria que recorrer los 700 y dentro de cada uno y asi, lo que llamamos recursividad y se puede tirar la vida. No me importaria crear otra tabla de referencia pero no consigo aplicarle la logica. Un saludo y muchisimas gracias por vuestro tiempo. |