我的问题是我在Tarife上获得了重复的主键,所以我的问题是如何更改布局而不会获得重复的素数?
到db:我有一些“从,到”的路线,它们彼此有一定的距离,并且有不同的高速公路 - >高速公路,他们有2个典型,其中一些是扁平的 - > eben或mountainous - >伯格,你必须区分这五个班级,所以我有27个高速公路* 2个类型* 5个班级。 我希望你能帮助我:) 我想在mysql中使用它
这里有一些表格的图片
答案 0 :(得分:0)
通过查看屏幕截图,我假设AutobahnID
和typID
是主键。如果是这样,您需要稍微更改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