【问题标题】:Variable number of columns in SQL databaseSQL 数据库中的可变列数
【发布时间】:2016-01-18 02:24:34
【问题描述】:

我正在尝试创建一个与 PHP 一起使用的 SQL 数据库来生成动态网页。每个页面大约是一集(电视节目),并包含一些指向观看它的地方的链接。但是,并非每一集都有相同数量的链接。

总的来说,我对 SQL 和数据库非常陌生,但似乎我可以为链接数量设置某种限制(例如 10 个),并为链接数少于 10 个的剧集跳过空列。但是,这似乎效率低下,而且不是正确的方法。

另外,我确实找到了this post,它建议使用many-to-many 绑定表的关系。这看起来要复杂得多,但也更正确和有效。

在这种情况下,哪个是最佳选择?我将如何实现它?

【问题讨论】:

    标签: php mysql sql-server


    【解决方案1】:

    这是一对多的关系,而不是多对多的关系。

    一个系列可以有很多集,但一集不能有很多系列。

    2 个表,Episodes & Series

    Episodes 表具有所有当前属性,但也具有series_ID 属性。 (这是系列表中的主键)。

    系列具有系列 ID 作为主键和所有其他属性。

    如果您的服务器支持,您可以创建这些外键。 (附加功能)

    选择起来非常简单。

    Select * From Episodes,Series WHERE Episode.SeriesID = 'x'

    “x”等于您当前要为其查找剧集的系列 ID。

    【讨论】:

    • 我删除了之前的评论,因为这个解决方案更简单更好。如果操作正确,它将起作用。如果这对您有帮助,请单击我的答案旁边的勾号。干杯
    • 旁注:您可以根据需要使用相同的系列 ID 添加尽可能多的剧集。这将导致 select 语句返回许多行。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多