Hej!
Jag skulle behöva lite hjälp med foreign keys i MySQL. Det jag vill åstadkomma är att om jag lägger till ett värde i min tabell resor på attributet destination så vill jag att den istället läggs till i min tabell destination.
destination
Kod:
CREATE TABLE IF NOT EXISTS `destination` (
`id` int(11) NOT NULL auto_increment,
`destination` varchar(255) NOT NULL,
`country` varchar(255) default NULL,
`currency` varchar(255) default NULL,
PRIMARY KEY (`id`)
)
resor
Kod:
CREATE TABLE IF NOT EXISTS `resor` (
`id` int(11) NOT NULL auto_increment,
`name` varchar(40) default NULL,
`street` varchar(40) default NULL,
`destination` int(11) NOT NULL,
PRIMARY KEY (`id`),
KEY `fk_destination_id` (`destination`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
Ger mig felet:
Kod:
#1452 - Cannot add or update a child row: a foreign key constraint fails (`my_table/resor`, CONSTRAINT `fk_destination_id` FOREIGN KEY (`destination`) REFERENCES `destination` (`id`))
Jag vill även att den ska behålla sthlm i destination även om jag tar bort värdet från resor och om jag lägger till sthlm i resor igen efter att ta bort det så vill jag inte att läggs till två gånger i destination. Kommer det att fungera så?
Tacksam för svar och hjälp!