Foros del Web » Programando para Internet » PHP »

Eliminacion de un registro anidado

Estas en el tema de Eliminacion de un registro anidado en el foro de PHP en Foros del Web. Hola amigos tengo un problema de eliminacion de un registro quee esta anidado a otros campos estas son mis tres tablas. TABLA ORDEN create table ...
  #1 (permalink)  
Antiguo 23/12/2006, 00:29
 
Fecha de Ingreso: diciembre-2006
Mensajes: 25
Antigüedad: 17 años, 11 meses
Puntos: 0
Pregunta Eliminacion de un registro anidado

Hola amigos tengo un problema de eliminacion de un registro quee esta anidado a otros campos estas son mis tres tablas.

TABLA ORDEN

create table orden (cve_orden int (4) AUTO_INCREMENT PRIMARY KEY, nom_orden varchar(30));

TABLA FAMILIA

create table familia (cve_familia int (4) AUTO_INCREMENT PRIMARY KEY,
cve_orden varchar(4) REFERENCES orden (cve_orden), nom_familia varchar(30));

TABLA GENERO

create table genero (cve_genero int (4) AUTO_INCREMENT PRIMARY KEY,
cve_orden varchar(4) REFERENCES orden (cve_orden), cve_familia varchar(4) REFERENCES familia (cve_familia),
nom_genero varchar(30));

como ven mis tres tablas estan anidas ahora cuando quiero eliminar un registro en la tabla orden pero tiene relacion con otros registros en tabla familia y genero, se elimina facilmente, ¿ no me debe mandar un error? o estoy mal con mi relaciones o alguna sugerencias??? gracias
  #2 (permalink)  
Antiguo 23/12/2006, 11:10
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.655
Antigüedad: 19 años, 5 meses
Puntos: 88
Re: Eliminacion de un registro anidado

bien, si estas utilizando mysql no lo hace, solo acepta la orden y la ejecuta sin importar las relaciones que pudiera existir, puesto que si no estoy equivocado mysql no tiene las relaciones fisicas, es decir, son relaciones lógicas, a demás depende del typo de bd es decir si son innodb o myisam todo esto hasta antes de la versión 5(es que no lo he leido, jeje), para controlar el borrado creo que deberias preguntar si existe el registro del cual dependa.
espero y te sirva, uff (siempre me cuesta dar explicaciones, jeje)

ah! y ademas en tus tablas siempre trata de manejar el mismo tipo de valor, es decir:

en la tabla orden tienes esto cve_orden int (4) que es un entero de 4 digitos y en la tabla familia tienes esto cve_orden varchar(4) como un texto de 4 caracteres, si solo vas a optner numeros porque permitirle que acepte letras, podrias tener problemas.

saludos.
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.
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 21:55.