J'ai deux tables:InnoDB un (ou pas) à un problème relation
alt text http://img.zoodia.com/pics/643d0c93d59782ae16c0fbb85cabdb88.png
CREATE TABLE `Car` ( `car_id` int(11) NOT NULL AUTO_INCREMENT, `car_name` varchar(25), PRIMARY KEY(`car_id`) ) ENGINE=INNODB;
CREATE TABLE `Tire` ( `tire_id` int(11) NOT NULL AUTO_INCREMENT, `tire_size` int(11), `car_id_FK` int(11) NOT NULL DEFAULT '0', PRIMARY KEY(`tire_id`), CONSTRAINT `Ref_Car_Has_tire` FOREIGN KEY (`car_id_FK`) REFERENCES `Car`(`car_id`) ON DELETE NO ACTION ON UPDATE NO ACTION ) ENGINE=INNODB;
Mon problème est qu'un pneu ne doit pas appartenir à une voiture, il pourrait y avoir Soyez des pneus supplémentaires tout simplement assis autour. Tenter de créer un pneu sans car_id bien sûr entraîne une erreur.
Maintenant je pourrais simplement enlever la référence mais je suis sûr qu'il y a une manière appropriée de manipuler cette situation.
Une telle réponse rapide et simple, je suis presque honte d'avoir dû demander. Je me suis assis ici en me grattant la tête pendant un bon moment. A travaillé parfaitement, merci beaucoup. – Mike
Ne vous dérange pas du tout. Si ma réponse était utile, j'apprécierais que vous la marquiez comme acceptée. Merci! –
FWIW, oui, MySQL autorise NULL dans une colonne avec une contrainte de clé étrangère. La contrainte NOT NULL est indépendante. –