首页 文章

InnoDB一个(或没有)到一个关系问题

提问于
浏览
0

我有两张 table :

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;

我的问题是轮胎不一定属于汽车,可能会有额外的轮胎只是坐在那里 . 试图在没有合适的car_id的情况下创建轮胎当然会引发错误 .

现在我可以简单地删除引用,但我确信有一种正确的方法来处理这种情况 .

1 回答

  • 2

    如果MySQL允许,我现在不确定,但我认为以下内容可以解决您的问题:

    `car_id_FK` int(11) DEFAULT NULL,
    

相关问题