数据库收费布局

时间:2015-02-25 10:29:10

标签: mysql database

我的问题是我在Tarife上获得了重复的主键,所以我的问题是如何更改布局而不会获得重复的素数?

到db:我有一些“从,到”的路线,它们彼此有一定的距离,并且有不同的高速公路 - >高速公路,他们有2个典型,其中一些是扁平的 - > eben或mountainous - >伯格,你必须区分这五个班级,所以我有27个高速公路* 2个类型* 5个班级。 我希望你能帮助我:) 我想在mysql中使用它

这里有一些表格的图片

http://imgur.com/ZFRLgTs http://imgur.com/XiveTv9

1 个答案:

答案 0 :(得分:0)

通过查看屏幕截图,我假设AutobahnIDtypID是主键。如果是这样,您需要稍微更改Tarif表的结构。有很多方法可以做到这一点,但在这里我会做什么:

id - > int类型的自动递增主键。

autobahn_id - >引用Autobahn表的id的外键。

typ_id - >引用Typ表的id的外键。

klasse_id - >一个引用Klasse表的id的外键。

外键非常适合引用其他表中的行。我建议阅读外键here。请注意,并非所有数据库引擎都支持外键,例如MyISAM。 InnoDB是支持外键的引擎之一。

我建议先从Tarif表中删除所有主键,然后像这样添加外键:

ALTER TABLE Tarif ADD CONSTRAINT FK_autobahn_id FOREIGN KEY (autobahn_id) REFERENCES Autobahn(ID) ON UPDATE CASCADE ON DELETE CASCADE