我有一个mysql数据库,里面有一些表。两个表的示例:
表“ dogtoilets ”
- 类型
- location_id(FK)表“位置”
- id
- 纬度
- 经度
我的问题是如何清除表格“dogtoilets并清除我的位置表中与dogtoilets相关的位置?
试过这个,但地点不会删除......
$dogtoilets = DogToiletQuery::create()
->leftJoinWith('Dogtoilet.Location')
->find();
$dogtoilets->delete();
答案 0 :(得分:2)
希望这个帮助: http://en.wikipedia.org/wiki/Foreign_key#CASCADE
Cascade仅在您删除“位置”中的行时有效,它会自动删除“ dogtoilets ”中的相关行
在这种情况下,您应该使用您的代码手动删除。
答案 1 :(得分:0)
将此添加到外键约束:
ON DELETE CASCADE;
它将删除与FK链接的所有引用对象。