una tabla registros español eliminar eliminacion ejemplos delete datos como cascada borrar mysql sql foreign-keys cascade

tabla - ¿Cómo uso en eliminar cascada en mysql?



on delete cascade mysql español (3)

Debe definir sus restricciones de clave externa como ON DELETE CASCADE.

Nota: Necesita usar el motor de almacenamiento InnoDB, el motor de almacenamiento MyISAM predeterminado no admite la relación de claves externas.

CREATE TABLE `table2` ( `id` int(11) NOT NULL auto_increment, `name` int(11) NOT NULL, PRIMARY KEY (`id`), KEY `ids` (`ids`) CONSTRAINT `foreign` FOREIGN KEY (`ids`) REFERENCES `table2` (`ids`) ON DELETE CASCADE ON UPDATE CASCADE )

Tengo una base de datos de componentes. Cada componente es de un tipo específico. Eso significa que hay una relación muchos a uno entre un componente y un tipo. Cuando elimino un tipo, me gustaría eliminar todos los componentes que tienen una clave foránea de ese tipo. Pero si no me equivoco, la eliminación en cascada eliminará el tipo cuando se elimine el componente. ¿Hay alguna manera de hacer lo que describí?


Esto es lo que incluirías en tu tabla de componentes.

CREATE TABLE `components` ( `id` int(10) unsigned NOT NULL auto_increment, `typeId` int(10) unsigned NOT NULL, `moreInfo` VARCHAR(32), -- etc PRIMARY KEY (`id`), KEY `type` (`typeId`) CONSTRAINT `myForeignKey` FOREIGN KEY (`typeId`) REFERENCES `types` (`id`) ON DELETE CASCADE ON UPDATE CASCADE )

Solo recuerda que necesitas usar el motor de almacenamiento InnoDB: el motor de almacenamiento MyISAM predeterminado no admite claves externas.


usa este sql

ELIMINAR T1, T2 DE T1 INNER UNIRSE A T2 EN T1.key = T2.key WHERE condición