mysql 常见 table 不同类型
mysql common table for different types
我想在 mysql 中为两个不同的 table(例如 sportscar
和 tank
).两者都需要修理,我的问题来了。我不能只有 table repair
中的 table 和 sportscar
和 tank
这两个 id
(PK),因为我可以'决定 ID 1 是来自 sportscar
还是来自 tank
。所以我在 table repair
中也添加了 type_id
。所以 vehicle_id = 1
和 type_id = 2
应该定义它来自 table tank
,车辆 ID 是 1。到目前为止一切顺利,但不幸的是它不起作用。我不知道为什么,但它似乎不以某种方式接受 vehicle_id
和 type_id
作为复合键。在SqlYog中不允许我选择相应的记录,因为它在相关的table中总是空的。我尝试了很多不同的组合,甚至在 tables sportscar
和 tank
中将 id
和 type_id
设置为复合 PK,但没有用.我究竟做错了什么?你能给我指出正确的方向吗?谢谢你。
正如@Jorge 所说,您的 Repairs
table 需要 link 到基数 Cars
(或 Vehicles
)table , 存放跑车和坦克。类似于 Vehicles(vehicle_id, vehicle_type, other_atts)
.
根据您存储的有关坦克和跑车的信息,您可以根据需要创建专门的 table。在 SQL 中表示继承是一个棘手的话题,但可以通过多种方式完成。例如,参见 How can you represent inheritance in a database?。
我想在 mysql 中为两个不同的 table(例如 sportscar
和 tank
).两者都需要修理,我的问题来了。我不能只有 table repair
中的 table 和 sportscar
和 tank
这两个 id
(PK),因为我可以'决定 ID 1 是来自 sportscar
还是来自 tank
。所以我在 table repair
中也添加了 type_id
。所以 vehicle_id = 1
和 type_id = 2
应该定义它来自 table tank
,车辆 ID 是 1。到目前为止一切顺利,但不幸的是它不起作用。我不知道为什么,但它似乎不以某种方式接受 vehicle_id
和 type_id
作为复合键。在SqlYog中不允许我选择相应的记录,因为它在相关的table中总是空的。我尝试了很多不同的组合,甚至在 tables sportscar
和 tank
中将 id
和 type_id
设置为复合 PK,但没有用.我究竟做错了什么?你能给我指出正确的方向吗?谢谢你。
正如@Jorge 所说,您的 Repairs
table 需要 link 到基数 Cars
(或 Vehicles
)table , 存放跑车和坦克。类似于 Vehicles(vehicle_id, vehicle_type, other_atts)
.
根据您存储的有关坦克和跑车的信息,您可以根据需要创建专门的 table。在 SQL 中表示继承是一个棘手的话题,但可以通过多种方式完成。例如,参见 How can you represent inheritance in a database?。