php - SQL 数据库中可变列数

标签 php mysql sql-server

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

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

或者,我确实找到了 this post,它建议使用 多对多 关系将表绑定(bind)在一起。这看起来要复杂得多,但也更加正确和高效。

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

最佳答案

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

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

2 个表,剧集 & 系列

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

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

如果您的服务器支持,您可以制作这些外键。 (额外功能)

选择起来非常简单。

选择 * 来自剧集,系列 WHERE Episode.SeriesID = 'x'

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

关于php - SQL 数据库中可变列数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34846359/

相关文章:

mysql - php mb_detect_encoding 在 mysql 中等效

sql-server - 数据库读取在带有索引的查询上变化很大

MySql 查询哪里不能正常工作

php - PHP 回调可以通过引用接受它的参数吗?

php - JMSSerializer 独立 - 注释不存在,或无法自动加载

PHP正则表达式跨多行搜索

java - 简单的 jdbcTemplate.query() 应该返回一个列表,但不是

c# - Visual Studio 数据库单元测试 - 校验和

c# - SQL Server 查询 : Get a List of Columns Which Don't Exist in Another Table's Field

php - 从 PHP 学习 Python