Page 1 of 1

Dolphin y foreign key

PostPosted: Wed Sep 04, 2019 11:13 am
by jgabri
Hola

Alguien tiene algún ejemplo, de como utilizar foreign key con dolphin ? estoy un poco perdido, he creado la clave en la tabla, pero no me acaba de funcionar.

Un saludo,
Gabriel

Harbour
Fwh 19.05

Re: Dolphin y foreign key

PostPosted: Wed Sep 04, 2019 12:21 pm
by cmsoft
Hola Gabriel:
Las Foreing Key te sirven para mantener la integridad referencial en las tablas, o incluso mantener de forma automatica la relacion en tablas cabecera-detalle.
Con Dolphin nos va a respetar las reglas que hayamos indicado en las foreing key, tales como no permitir borrar de una tabla maestra si asi lo indica la regla, o hacer un borrado en cascada, cuando lo indiquemos asi.
Ejemplo:
ALTER TABLE `clientes`
ADD FOREIGN KEY (`categoria`) REFERENCES `categorias`(`id`);
Esto hara que el campo categoria de la tabla clientes, no permita ingresar un valor que no este en la tabla categorias.
Otro ejemplo:
ALTER TABLE `clientes`
ADD FOREIGN KEY (`categoria`) REFERENCES `categorias`(`id`) ON UPDATE CASCADE;
Esto hara que el campo categoria de la tabla clientes, no permita ingresar un valor que no este en la tabla categorias y que ademas si modifico el id de la categoria en la tabla de categorias, modificara automaticamente en todos los clientes que tengan ese codigo de categoria.
ALTER TABLE `clientes`
ADD FOREIGN KEY (`categoria`) REFERENCES `categorias`(`id`) ON DELETE CASCADE;
Se pueden combinar las opciones.
ALTER TABLE `clientes`
ADD FOREIGN KEY (`categoria`) REFERENCES `categorias`(`id`) ON UPDATE RESTRICT ON DELETE CASCADE;
Con dolphin podemos capturar los errores en caso de que la operatoria quiera romper una regla definida en la foreing key.
Espero haber sido de ayuda...Cualquier duda a tu disposicion

Re: Dolphin y foreign key

PostPosted: Wed Sep 04, 2019 6:34 pm
by jgabri
Gracias Cesar por la ayuda,

Si hago desde dolphin un oTabla:delete y quiero eliminar la factura, también me elimina el detalle de la factura ?

Tengo dos tablas facturas y detalles, el foreign key lo tengo por el id, lo estoy haciendo bien ?

Funciona en tablas MyISAM ?

Un saludo,
Gabriel

Harbour
Fwh 19.05

Re: Dolphin y foreign key

PostPosted: Thu Sep 05, 2019 4:06 pm
by rogerio
Ola Gabriel,

Si, se usares FOREIGN KEY con la opción ON DELETE CASCADE, ao eliminar la factura los detalles tambien serán eliminados.
Funciona en MyIsam. Note: la tabla principal e las tablas secundarias devem usar lo mismo motor.
Todos MyIsam o todos InnoDb.
Si, siempre el ID como referencia.

Saludos.

Re: Dolphin y foreign key

PostPosted: Sat Sep 07, 2019 11:27 am
by jgabri
Gracias por la ayuda !!!!

Un saludo,
Gabriel