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
| |||
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, |
| ||||
Cita: este es un ejemplo
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, 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 |
| |||
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, |
| ||||
gracias cluster Cita: 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
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, te dejo chambear y seguire estudiando Un saludo, |