【发布时间】:2014-01-13 17:00:58
【问题描述】:
我正在为我开始的数据库项目构建布局。自从我上次使用结构化外键等工作已经一年多了,说我生疏是轻描淡写的。
因此,对于我的数据库,我们将有一个包含车辆的表和一个位置表。每辆车都有一个id(VehID)、一个位置(location)和一个名字(title)。位置表具有以下字段:LocID、位置所针对的车辆 ID (VehID),它是来自车辆数据库的外键,它还具有车辆的纬度和经度。
表格如下所示:
-----------
| vehicle | - //Holds all vehicles
-----------
| VehID | - PK, auto_incrementing
|Locations| - //should link to most current location, with location.VehID == vehicle.VehID
| Title | - varchar(40)
-----------
-----------
|location | - //Holds all locations where a vehicle has been
-----------
|LocID | - PK, auto_incrementing
|VehID | - Foreign Key from vehicle
|Latitude | - decimal(10,6)
|Longitude| - decimal(10,6)
-----------
如果有帮助,我将使用 django 框架进行 ORM。每次我尝试向位置表添加新条目时,尝试设置为 VehID 时都会出错...我将如何进行设置?如果我不能,我将如何链接车辆和位置字段?就像我说的......已经有一段时间了。
【问题讨论】:
-
你不能有这样的双向外键。外键要求引用已经存在,所以你遇到了先有鸡还是先有蛋的问题。
-
好的,所以假设我删除了 vehicle.location 字段,如果车辆/位置关系是一对多的同时保留,我将使用什么 MySQL 查询将新位置添加到车辆表中VehID 外键?
标签: mysql database django database-design database-schema