MySQL在将数据插入不同的表时建立关系

时间:2011-11-27 20:34:12

标签: php mysql sql database

所以我有这些表(我将简化实际结构):

+----------------+   +----------------+
| CLIPS          |   | AUTHORS        |
+----------------+   +----------------+
| CLIP_ID        |   | AUTHOR_ID (PK) |
| LINK           |   | AUTHOR         |
| AUTHOR_ID (FK) |   | TITLE_ID (FK)  |
| TITLE_ID (FK)  |   +----------------+
| GENRE_ID (FK)  |
+----------------+

+----------------+   +----------------+
| TITLES         |   | GENRES         |
+----------------+   +----------------+
| TITLE_ID (PK)  |   | GENRE_ID (PK)  |
| TITL           |   | GENRE          |
+----------------+   +----------------+ 

如何在将数据插入这些表格时建立关系(欢迎任何帮助,直接或教程链接)?

当我将迈克尔·杰克逊插入作者,将惊悚片插入标题和音乐剪辑链接到剪辑时,我可以将所有这些记录与(例如)相同的剪辑ID相关联。

示例:剪辑ID为2312123,是Michael Jackson惊悚片[链接]

由于

1 个答案:

答案 0 :(得分:4)

首先插入作者,标题和流派,然后检索新插入行的主键。要获得主键,这样的东西可能会有所帮助: http://php.net/manual/en/function.mysql-insert-id.php

然后使用主键将行插入剪辑。剪辑表依赖于其他表,因此您需要先填充它们。

作为进一步的建议,数据库表应以单数形式命名(例如,作者,剪辑等)。表格模拟实体。