gpt4 book ai didi

mysql - 如何使用 phpMyAdmin 和外键制作音乐库?

转载 作者:行者123 更新时间:2023-11-29 00:45:47 25 4
gpt4 key购买 nike

在遵循 Music library MySQL database 遇到困难后,我需要帮助尝试设置外键.我有多个表:专辑、歌曲、流派、音乐视频、独奏和组。每个特定表都有 ID、名称和其他列。每个 id 都是 int(11) 的主键。 Solo 和 Group 代表独奏艺术家和团体。 (soloID和groupID是他们的主键)

再看

这可能是我设置数据库的方式。


Solo
• djuIDs – int(11)
• profilepic – varchar(255)
• engname – varchar(255)
• korname – varchar(255)
• engbn – varchar(255)
• occupation – set
• recordlabel – varchar(255)
• debut - date
• dateofbirth – date
• officialsite - varchar(255)
• sitename –varchar(255)
• page – varchar(255)
Group
• djuIDs – int(11)
• profilepic – varchar(255)
• engname – text
• korname – text
• members – text
• recordlabel – varchar(255)
• debut – date
• officialsite - varchar(255)
• sitename –varchar(255)
• page – varchar(255)
Albums
• albumID – int(11)
• albumpic – varchar(255)
• albumthpic – varchar(255)
• albumTitle – varchar(255)
• performer – varchar(255)
• type – set (ex: ep, sp, studio)
• titletrack – varchar(255)
• genre
• releasedate – date
• distributor – varchar(255)
• page – varchar(255)
Songs
• songID – int(11)
• albumpic – varchar(255)
• tracknum – int(11)
• songTitle – varchar(255)
• performer – varchar(255)
• album – varchar(255)
• page – varchar(255)
Music Videos
• mvID – int(11)
• title – varchar(30)
• mvpic – varchar(255)
• performer – varchar(255)
• album – varchar(255)
• releasedate – date
• vURL – varchar(255)
Genres
• genreID – int(11)
• genreName –varchar(30)
• information – varchar(255)

最佳答案

我认为这是我以前的回答之一...如果您使用 INT(11) 作为您的主键,您的外键定义应该类似于下表定义艺术家专辑:

CREATE TABLE Artists (
/* will later be defined as a FK Albums.artistid */
id INT NOT NULL PRIMARY KEY,
name VARCHAR(1024) NOT NULL,
description TEXT
) ENGINE=InnoDB;

CREATE TABLE Albums (
id INT NOT NULL PRIMARY KEY,
artistid INT NOT NULL,
release_date DATETIME,
genreid INT NOT NULL,
picture BLOB,
FOREIGN KEY (artistid) REFERENCES Artists (id),
FOREIGN KEY (genreid) REFERENCES Genres (id)
) ENGINE=InnoDB;

由于您已将所有 PK 列定义为 INT(11),因此请确保在相关表中使用相同的数据类型。例如上面的例子,artistid INT NOT NULL 假定 Artists 中引用的列被定义为 id INT NOT NULL

在上面的定义中,我将 FK 列设置为 NOT NULL,但这并不是绝对必要的。例如,您可以拥有一张包含 NULL 艺术家的专辑。如果您认为这是可能的,您应该能够在列定义中省略 NOT NULL

关于mysql - 如何使用 phpMyAdmin 和外键制作音乐库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10592972/

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