Después de estos últimos posts volví a revisar la estructura de tablas que postaste al final, y tienes esto:
Código MySQL:
Ver original KEY `fk_movimiento_cilindro1_idx` (`id_cilindro`), KEY `fk_movimiento_esfera1_idx` (`id_esfera`), KEY `fk_movimiento_lentes1` (`id_lente`), KEY `fk_salida_item1_idx` (`id_item`)
¿Me puedes explicar cómo crees que va a hacer validación de integridad referencial
si alli no hay ninguna FOREIGN KEY?
Sin embargo, en tu primer script de backup tienes esto:
Código MySQL:
Ver original-- -----------------------------------------------------
-- Table `stocklentesbrujuleando`.`movimiento`
-- -----------------------------------------------------
INDEX `fk_salida_item1_idx` (`id_item` ASC) , INDEX `fk_movimiento_lentes1_idx` (`id_lente` ASC) , INDEX `fk_movimiento_cilindro1_idx` (`id_cilindro` ASC) , INDEX `fk_movimiento_esfera1_idx` (`id_esfera` ASC) , REFERENCES `stocklentesbrujuleando`.
`item` (`item_ID` ) REFERENCES `stocklentesbrujuleando`.
`lentes` (`ID_lente` ) REFERENCES `stocklentesbrujuleando`.
`cilindro` (`ID_cil` ) REFERENCES `stocklentesbrujuleando`.
`esfera` (`ID_esf` )
Esto sí está bien.
¿Qué hiciste que se eliminaron todas las FK?
En esas condiciones la integridad referencial no existe. Las tablas se están comportando como si fuesen MyISAM, y no InnoDB.