Hola a todos, os explico.
Tengo esta tabla:
Código HTML:
CREATE TABLE `partido` (
`id` int(5) NOT NULL auto_increment,
`temporada_id` int(5) NOT NULL,
`competicion_id` int(5) NOT NULL,
`local_id` int(5) NOT NULL,
`visitante_id` int(5) default NULL,
`fecha` varchar(10) collate utf8_unicode_ci NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `local_id` (`local_id`,`visitante_id`,`fecha`),
KEY `temporada_id` (`temporada_id`),
KEY `competicion_id` (`competicion_id`),
KEY `visitante_id` (`visitante_id`),
CONSTRAINT `partido_ibfk_1` FOREIGN KEY (`temporada_id`) REFERENCES `temporada` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
CONSTRAINT `partido_ibfk_2` FOREIGN KEY (`competicion_id`) REFERENCES `competicion` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
CONSTRAINT `partido_ibfk_3` FOREIGN KEY (`local_id`) REFERENCES `equipo` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
CONSTRAINT `partido_ibfk_4` FOREIGN KEY (`visitante_id`) REFERENCES `equipo` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
Y el problema lo tengo al ejecutar esta consulta:
Código HTML:
INSERT INTO partido VALUES (
'',
'$temporada',
'$competicion',
'$equipo',
'',
'$fecha'
)
El valor de visitante_id deberia poder ser nulo. Si agrego una linea mediante el INSERT de phpmyadmin no me tira ningun error, pero al hacer insert mediante SQL me lanza el siguiente error:
Código HTML:
#1452 - Cannot add or update a child row: a foreign key constraint fails (`playascs_playas/partido`, CONSTRAINT `partido_ibfk_4` FOREIGN KEY (`visitante_id`) REFERENCES `equipo` (`id`) ON DELETE CASCADE ON UPDATE CASCADE)
He probado a poner NULL en el valor del insert, pero el resultado es el mismo.
Alguien me puede ayudar. Por favor, es urgente.