I have creating a table at a MySQL database. This table have a foreign key with itself. I have set that the column with have the foregin key permit null values, but when I try insert a record with the null value in it column, I have a foreign key violation error:
ERROR 1452: Cannot add or update a child row: a foreign key constraint fails (`BTBONITAPRE/documentacionActividad`, CONSTRAINT `fkPadre` FOREIGN KEY (`codActividad`) REFERENCES `documentacionActividad` (`codActividad`) ON UPDATE CASCADE)
Here is the table definition:
CREATE TABLE `documentacionActividad` (
`codActividad` varchar(20) NOT NULL,
`codDocumentacion` int(11) NOT NULL,
`nombreDocumentacion` varchar(100) NOT NULL,
`documentacionPadre` int(11) default NULL,
`Creador` varchar(45) default NULL,
`fechaCreado` datetime default NULL,
`Modificador` varchar(45) default NULL,
`fechaModificado` datetime default NULL,
PRIMARY KEY (`codDocumentacion`,`codActividad`),
KEY `fkPadre` (`codActividad`),
CONSTRAINT `documentacionActividad_ibfk_3` FOREIGN KEY (`codActividad`) REFERENCES `Actividad` (`codActividad`),
CONSTRAINT `fkPadre` FOREIGN KEY (`codActividad`) REFERENCES `documentacionActividad` (`codActividad`) ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=latin1$$
Some help? Thanks!