Cannot add or update a child row: a foreign key constraint fails (`db_directernaartoe/tbl_bedrijven`, CONSTRAINT `tbl_bedrijven_ibfk_1` FOREIGN KEY (`gebruiker_id`) REFERENCES `tbl_gebruikers` (`gebruiker_id`) ON DELETE CASCADE ON UPDATE CASCADE)

weet iemand mischien wat hier fout gaat
Je probeert een actie uit te voeren die niet mogelijk is omdat er nog een foreign key constraint bestaat die dat tegen houdt.

Zonder query of iets wordt het moeilijk te zeggen wat er nu precies fout gaat...
CREATE TABLE `tbl_gebruikers` (
`gebruiker_id` int(11) unsigned NOT NULL auto_increment,
`gebruiker_naam` varchar(20) NOT NULL ,
`gebruiker_wachtwoord` varchar(32) NOT NULL ,
PRIMARY KEY (`gebruiker_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

CREATE TABLE `tbl_berichten` (
`bericht_id` int(11) unsigned NOT NULL auto_increment,
`bericht_onderwerp` varchar(20) NOT NULL ,
`bericht` text NOT NULL ,
`gebruiker_id` int(11) unsigned NOT NULL,
PRIMARY KEY (`bericht_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

ALTER TABLE `tbl_berichten`
ADD FOREIGN KEY (`gebruiker_id`) REFERENCES `tbl_gebruikers` (`gebruiker_id`) ON DELETE CASCADE ON UPDATE CASCADE;


Hierboven staan de tabelen de query is:
INSERT INTO tbl_berichten SET gebruiker_id = '$gebruiker_id'


De $gebruiker_id haal ik weer uit de tabel tbl_gebruikers weet je mischien wat hier fout gaat
Omar schreef op 10.05.2008 16:15
CREATE TABLE `tbl_gebruikers` (
`gebruiker_id` int(11) unsigned NOT NULL auto_increment,
`gebruiker_naam` varchar(20) NOT NULL ,
`gebruiker_wachtwoord` varchar(32) NOT NULL ,
PRIMARY KEY (`gebruiker_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

CREATE TABLE `tbl_berichten` (
`bericht_id` int(11) unsigned NOT NULL auto_increment,
`bericht_onderwerp` varchar(20) NOT NULL ,
`bericht` text NOT NULL ,
`gebruiker_id` int(11) unsigned NOT NULL,
PRIMARY KEY (`bericht_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

ALTER TABLE `tbl_berichten`
ADD FOREIGN KEY (`gebruiker_id`) REFERENCES `tbl_gebruikers` (`gebruiker_id`) ON DELETE CASCADE ON UPDATE CASCADE;


Hierboven staan de tabelen de query is:
INSERT INTO tbl_berichten SET gebruiker_id = '$gebruiker_id'


De $gebruiker_id haal ik weer uit de tabel tbl_gebruikers weet je mischien wat hier fout gaat

En als je die query gewoon eens echot? Dus als $gebruiker_id al ingevuld is? Ik krijg het vermoeden dat het gebruikte id niet bestaat in de gebruikerstabel...
Ik heb het probleem gevonden de gebruiker_id in tabel tbl_berichten moest ik NULL maken. Bedankt voor de stap in de juiste richting
de gebruiker_id in tabel tbl_berichten moest ik NULL maken
Met andere woorden, jij kunt een bericht in je database hebben staan zonder dat daar een gebruiker aan gekoppeld is? Dus een bericht zonder auteur?

Dat lijkt me toch echt geen gewenste situatie...

Reageren