mysql公共表

06odsfpq  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(405)

我想在mysql中创建一个公共表(例如。 repair )对于两个不同的表(例如。 sportscar 以及 tank ). 两个都需要修理,我的问题来了。我不能只有 id 两个表的(pk) sportscar 以及 tank 在表中 repair ,因为我无法确定id 1是否来自 sportscar 或来自 tank . 所以我补充说 type_id 也到table repair . 所以呢 vehicle_id = 1 以及 type_id = 2 应该定义它来自表 tank ,车辆id为1。到目前为止还不错,但不幸的是它不起作用。我不知道为什么,但它似乎无法接受 vehicle_id 以及 type_id 作为复合键。在sqlyog中,我不允许选择相应的记录,因为它在相关表中总是空的。我尝试了很多不同的组合,甚至 id 以及 type_id 作为表中的复合pk sportscar 以及 tank ,但不起作用。我做错什么了?你能给我指一下正确的方向吗?谢谢您。




eulz3vhy

eulz3vhy1#

正如豪尔赫所说,你的 Repairs 表需要链接到基 Cars (或 Vehicles )一张table,里面有跑车和坦克。像这样的 Vehicles(vehicle_id, vehicle_type, other_atts) .
根据您存储的关于坦克和跑车的信息,您可以根据需要创建专门的表。在sql中表示继承是一个棘手的主题,但可以通过多种方式来实现。例如,请参见如何在数据库中表示继承?。

相关问题