Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
Un Detalle Con Bases De Datos Al Tratar De Hacer Cambios En Cascada
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Un Detalle Con Bases De Datos Al Tratar De Hacer Cambios En Cascada 
 
Hola buenas, como están hermanos programadores, espero que estén bien y deseándoles como de costumbre el mejor éxito en sus proyectos.

Quiero comentarles que estoy haciendo pruebas con la base de datos Sqlite relacionando las tablas y haciendo cambios en la misma pero me estoy encontrando con un detalle y es que noto que no me esta borrando los registros en cascada!.

Ejemplo poseo estas tres tablas:
1-Empresa
2-Almacen
3-Almacen_Empresa

Yo creo la tabla que relaciona dos tablas de muchos a muchos de la siguiente manera:

CREATE TABLE almacen_empresa (
    id_almacen_empresa  INTEGER PRIMARY KEY,
    fk_rif_empresa INTEGER,
    fk_almacen INTEGER,
    FOREIGN KEY (fk_rif_empresa) REFERENCES empresa(rif_empresa) ON UPDATE CASCADE ON DELETE CASCADE
    FOREIGN KEY (fk_almacen) REFERENCES almacen(id_almacen)ON UPDATE CASCADE ON DELETE CASCADE
);


Al llenar la tabla Almacen_Empresa con las foráneas que corresponden a las dos comentadas las consultas las hace muy bien con su relación y todo pero cuando borro un registro sea de la tabla Empresa o Almacen no borra tampoco el registro que se relaciona en la tabla Almacen_Empresa, que podrá ser?.

Sera que el ON DELETE CASCADE le falta algo? y lo mas extraño es que me sucede lo mismo en Mysql quizá sea ignorante en el asunto y no sepa algo allí.

Quiero salir de dudas, gracias.
 



 
jousseph - Ver perfil del usuarioEnviar mensaje privadoVer la galería personal del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Un Detalle Con Bases De Datos Al Tratar De Hacer Cambios En Cascada 
 
En sqlite ¿Has establecido la integridad referencial? Para ello al abrir la conexión tienes que enviar ésta consulta a la base de datos:
miconexion.Exec("PRAGMA foreign_keys = 1")


En MySql:
¿Estás utilizando el motor de datos INNODB? Porque si utilizas MyISAM, no tienes integridad referencial.

Si la respuesta es sí, sube una base de datos sqlite con la estructura que no te funciona y te podré decir algo más.

Saludos.
 




===================
No podemos regresar
 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Un Detalle Con Bases De Datos Al Tratar De Hacer Cambios En Cascada 
 
Citar:
En sqlite ¿Has establecido la integridad referencial? Para ello al abrir la conexión tienes que enviar ésta consulta a la base de datos:

miconexion.Exec("PRAGMA foreign_keys = 1")

Efectivamente señor Shordi, el problema era ese, yo pensaba que eso se configuraba solo, veo que hay que estar ejecutando en Sqlite el codigo:

PRAGMA foreign_keys = 1

Para que en las relaciones pueda borrar o hacer cambios en las tablas en forma de cascada, gracias!.

Encuanto a Mysql
Citar:
En MySql:
¿Estás utilizando el motor de datos INNODB? Porque si utilizas MyISAM, no tienes integridad referencial.

Pues yo siempre uso INNODB pero el problema era que yo dejaba la configuración en phpmyadmin asi:

 mysql_error_al_borrar_en_cascada

Cuando en realidad debe quedar asi:

 mysql_error_al_borrar_en_cascada_resuelto

Gracias señor Shordi.

Saludos y abrazos.
 



 
última edición por jousseph el Jueves, 02 Febrero 2017, 04:14; editado 1 vez 
jousseph - Ver perfil del usuarioEnviar mensaje privadoVer la galería personal del usuario 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes Bases De Datos esca Bases de Datos 0 Miercoles, 07 Abril 2010, 04:38 Ver último mensaje
esca
No hay nuevos mensajes Tratar De Repetir El Mismo Codigo Con Todo... jousseph General 1 Domingo, 22 Agosto 2010, 17:08 Ver último mensaje
shordi
No hay nuevos mensajes Listar Bases De Datos, Tablas, Campos Y Da... maikl Aplicaciones/Fragmentos de Código 2 Martes, 28 May 2013, 18:54 Ver último mensaje
jguardon
No hay nuevos mensajes Control View Adecuado Para Hacer Cambios Shell General 2 Miercoles, 14 Marzo 2018, 10:04 Ver último mensaje
tincho
 

Publicar nuevo tema  Responder al tema  Página 1 de 1
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 
Lista de permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario



  

 

cron