gpt4 book ai didi

php - 表值的多个键?

转载 作者:行者123 更新时间:2023-11-29 05:45:49 24 4
gpt4 key购买 nike

我确定我的术语是错误的,这可能是谷歌没有帮助我的原因。无论如何,这是我的问题,也许你可以推断出我真正的问题是什么......我希望

好吧,假设我有一个名为 MOVIE 的表,该表具有 NameReleaseDate 的值(列?) Staring 现在我的问题是如何让 Staring 值包含多个值?

我是否制作一个单独的表STARS,其中包含列KeyActor1Actor2 等... ? MOVIE 表中的 Staring 值指向 STARS 表的 PK。

Key | Actor 1 | Actor 2 | .....
----------------------------------
01 | Bob Bob | John Bob | .......
02 | Jim Bob | John Bob | .......

但是,这样做的问题是该表将是静态的,并且需要有预设数量的参与者。

有没有办法在 MOVIE 表的 Staring 值中存储多个 actorID(来自 Actors 表的 PK)?例如:

Name | ReleaseDate | Staring
-------------------------------------
blah | 1999 | 21, 46, 392, 182, 30
blah pt2 | 2001| 3, 11, 412

无论如何,此时任何事情都会有所帮助,我们将不胜感激。

最佳答案

在这种情况下,一般使用3张表:

  • 1 个 Actor 数据表;每个 Actor 一行;主键 = Actor 的 id
  • 1 个电影数据表;每部电影一行;主键=影片的id
  • 1 个表作为这些之间的链接;主键=影片id+影片id


在这里,这意味着:

  • 星星
    • 编号
    • 姓名
  • 电影
    • 编号
    • 标题
    • 发布日期
  • MOVIES_STARS
    • id_movie
    • id_star

然后,要看电影:

select * 
from movie
where id = X

并获得那部电影中的 Actor :

select stars.*
from stars
inner join movies_stars on movies_stars.id_star = stars.id
where movies_stars.id_movie = X

如果需要,您甚至可以加入电影表 ;-)


几个关键字:

关于php - 表值的多个键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2234587/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com