私は2つのテーブルを持っています:
代替テキスト 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`) ) エンジン=INNODB;
CREATE TABLE `タイヤ` ( `tire_id` int(11) NOT NULL AUTO_INCREMENT, `tyre_size` int(11), `car_id_FK` int(11) NOT NULL デフォルト '0', PRIMARY KEY(`タイヤID`), CONSTRAINT `Ref_Car_Has_tire` FOREIGN KEY (`car_id_FK`) リファレンス `Car`(`car_id`) 削除時アクションなし 更新時 アクションなし ) エンジン=INNODB;
私の問題は、タイヤが車に属している必要はなく、余分なタイヤが単に座っている可能性があることです。もちろん、適切な car_id なしでタイヤを作成しようとすると、エラーがスローされます。
これで、参照を簡単に削除できましたが、この状況を処理する適切な方法があると確信しています。