0

我有两张桌子:

替代文字 http://img.zoodia.com/pics/643d0c93d59782ae16c0fbb85cabdb88.png

创建表`汽车`(
  `car_id` int(11) NOT NULL AUTO_INCREMENT,
  `car_name` varchar(25),
  主键(`car_id`)
)
引擎=创新;
创建表`轮胎`(
  `tire_id` int(11) NOT NULL AUTO_INCREMENT,
  `tire_size` int(11),
  `car_id_FK` int(11) NOT NULL DEFAULT '0',
  主键(`tire_id`),
  约束`Ref_Car_Has_tire`外键(`car_id_FK`)
    参考`汽车`(`car_id`)
    删除无操作
    更新无动作
)
引擎=创新;

我的问题是轮胎不一定属于汽车,可能会有额外的轮胎坐在周围。尝试在没有正确 car_id 的情况下创建轮胎当然会引发错误。

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

4

1 回答 1

2

我现在不确定MySQL是否允许这样做,但我认为以下可以解决您的问题:

`car_id_FK` int(11) DEFAULT NULL,
于 2009-03-05T13:21:56.557 回答