Я не могу получить внешний ключ GenreID
в таблице Album
для работы. Кто-нибудь знает, почему?SQL-ссылка внешнего ключа
CREATE TABLE ArtistBand
(
ArtistID INT AUTO_INCREMENT PRIMARY KEY,
BandName VARCHAR(255) NOT NULL,
NameOfMembers VARCHAR(255),
NumberOfMembers INT
);
CREATE TABLE Genre
(
GenreID INT AUTO_INCREMENT PRIMARY KEY,
GenreType VARCHAR(255) NOT NULL,
AlbumID INT,
FOREIGN KEY(AlbumID) REFERENCES Album(AlbumID)
);
CREATE TABLE Album
(
AlbumID INT AUTO_INCREMENT PRIMARY KEY,
Name VARCHAR (255) NOT NULL,
ReleaseDate DATE NOT NULL,
Producers VARCHAR (255),
ArtistID INT,
GenreID INT,
FOREIGN KEY(ArtistID) REFERENCES ArtistBand(ArtistID),
FOREIGN KEY (GenreID) REFERENCES Genre (GenreID)
);
Можете ли вы поделиться вывод ошибок с нами? –
Может быть, сначала создайте таблицы, а затем измените таблицу, чтобы добавить внешние ключи. –
Круговые ссылки на внешние ключи между 'Album' и' Genre' вызовут у вас некоторые проблемы. 'AlbumID' не имеет смысла в« Жанре ». Отношение * из * 'Album' будет делать трюк, если вы действительно не ожидаете только одного« альбома »в каждом« Жанре » –