Foros del Web » Programando para Internet » PHP »

confirmacion para eliminar

Estas en el tema de confirmacion para eliminar en el foro de PHP en Foros del Web. hola: una pregunta nueva para ustedes necesito una forma para que delete no borre los datos si tiene relacion con otras tablas por ejemplo si ...
  #1 (permalink)  
Antiguo 19/01/2005, 11:46
Avatar de christopher1979  
Fecha de Ingreso: octubre-2004
Mensajes: 203
Antigüedad: 13 años, 2 meses
Puntos: 0
Exclamación confirmacion para eliminar

hola:

una pregunta nueva para ustedes necesito una forma para que delete no borre los datos si tiene relacion con otras tablas por ejemplo

si la tabla uno tiene registros en la tabla dos no borralo asta que se borren los de la tabla dos
  #2 (permalink)  
Antiguo 19/01/2005, 13:52
 
Fecha de Ingreso: julio-2003
Ubicación: España
Mensajes: 723
Antigüedad: 14 años, 4 meses
Puntos: 0
Qué sistema gestor de bases de datos usas? Mysql?
__________________
Solo nosotros podemos decidir qué hacer con el tiempo que se nos ha dado. (Gandalf)
  #3 (permalink)  
Antiguo 19/01/2005, 14:36
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Pero .. que relación guardan tus tablas? (campos "clave foránea" que uses) ..

En principio .. si usas Mysql y no usas tablas InnoDB (usas MyISAM) donde se puede crear relaciones entre tablas respetando la "integridad referencial" .. ese tipo de "validaciones" de un borrado de registro lo debe hacer tu aplicación .. no lo va hacer Mysql; es decir .. si tu "metes" mano directamente a tus tablas Mysql dejará hacerlo (salvo que uses ese tipo de tablas Innodb con la definición de tus claves foráneas y relaciones entre tablas además de que tipo de "borrado" permites: en cascada .. no permitido .. etc .. cosas que se define y validará Mysql si pretendes hacer algo no "correcto" con ese tipo de acciones)

Un saludo,
  #4 (permalink)  
Antiguo 24/01/2005, 11:37
Avatar de christopher1979  
Fecha de Ingreso: octubre-2004
Mensajes: 203
Antigüedad: 13 años, 2 meses
Puntos: 0
Exclamación

Cita:
Iniciado por Cluster
Pero .. que relación guardan tus tablas? (campos "clave foránea" que uses) ..

En principio .. si usas Mysql y no usas tablas InnoDB (usas MyISAM) donde se puede crear relaciones entre tablas respetando la "integridad referencial" .. ese tipo de "validaciones" de un borrado de registro lo debe hacer tu aplicación .. no lo va hacer Mysql; es decir .. si tu "metes" mano directamente a tus tablas Mysql dejará hacerlo (salvo que uses ese tipo de tablas Innodb con la definición de tus claves foráneas y relaciones entre tablas además de que tipo de "borrado" permites: en cascada .. no permitido .. etc .. cosas que se define y validará Mysql si pretendes hacer algo no "correcto" con ese tipo de acciones)

Un saludo,
este es un ejemplo

si mi tabla uno llamada datos A que es la principal que contiene datos que relaciona a las otras

supongamos que dato 1 es el principal para mis otras tablas es la llave

a la hora de borrar los datos de mi tabla que se llama datos A busque si tiene algun otro registro con la llave que es dato 1 si lo ay que no borre los de dato A y que me anuncie que ay datos en otras tablas que primero tengo que borrar los de las otras tablas para que yo pueda borrar los de esta tabla que es la numero uno ojala me aya esplicado gracias de todas maneras y todo esto con Mysql
  #5 (permalink)  
Antiguo 24/01/2005, 13:26
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Pero .. dentro de que tu usas Base de datos Mysql .. no sé si conoceras que hay ciertos tipos de tablas como las Innodb que permiten establecer relaciones "físicas" sobre la estructura de la(s) tabla(s) lo cual "fuerza" a que se respete la "integridad referencial".

Bueno .. si no usas esas definiciones ni tipo de tablas .. te va a tocar -vía código- cada vez que tu aplicación tenga que hacer un borrado de cierto registro, buscar sus registros relacionados por el campo que las relaciona y decidir si hay relaciones o no .. para eso puedes usar SQL y sentencias como COUNT() en conjunto con tus consultas SQL donde intervengan tus dos tablas relacionadas bajo JOIN's ...

No sé si sabes ya hacer ese tipo de consultas SQL .. pero es lo que primeramente necesitas. Si no conoces el tema .. visita el foro de Base de datos o consulta en el.

Un saludo,
  #6 (permalink)  
Antiguo 24/01/2005, 15:46
Avatar de christopher1979  
Fecha de Ingreso: octubre-2004
Mensajes: 203
Antigüedad: 13 años, 2 meses
Puntos: 0
Exclamación gracias cluster

Cita:
Iniciado por Cluster
Pero .. dentro de que tu usas Base de datos Mysql .. no sé si conoceras que hay ciertos tipos de tablas como las Innodb que permiten establecer relaciones "físicas" sobre la estructura de la(s) tabla(s) lo cual "fuerza" a que se respete la "integridad referencial".

Bueno .. si no usas esas definiciones ni tipo de tablas .. te va a tocar -vía código- cada vez que tu aplicación tenga que hacer un borrado de cierto registro, buscar sus registros relacionados por el campo que las relaciona y decidir si hay relaciones o no .. para eso puedes usar SQL y sentencias como COUNT() en conjunto con tus consultas SQL donde intervengan tus dos tablas relacionadas bajo JOIN's ...

No sé si sabes ya hacer ese tipo de consultas SQL .. pero es lo que primeramente necesitas. Si no conoces el tema .. visita el foro de Base de datos o consulta en el.

Un saludo,
si era lo que yo necesitaba ya lo estoy estudiando para poder generar mis consultas si utilizo codigo la otra forma no la e ocupado la voy a checar tambien gracias por aclarar mi duda. bueno

te dejo chambear y seguire estudiando
Un saludo,
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 15:34.