Ниже приведен мой код для создания моих двух таблиц, и, поскольку плейлист и песня являются отношениями «многие ко многим», я продолжаю создавать соединительную таблицу ...
CREATE TABLE Playlist (
Id VARCHAR(20),
[Name] VARCHAR(50),
Create_Date DATE,
Username VARCHAR(20),
PRIMARY KEY (Id),
FOREIGN KEY (username) REFERENCES Users (username)
);
CREATE TABLE Song (
Id VARCHAR(20),
Title VARCHAR(50),
Genre VARCHAR(20),
[Length] TIME,
[Language] VARCHAR(20),
Album_Id VARCHAR(20),
Company_Id VARCHAR(20),
PRIMARY KEY (Id),
FOREIGN KEY (Company_Id) REFERENCES Company (Id),
FOREIGN KEY (Album_Id) REFERENCES Album (Id)
);
CREATE TABLE Song_Playlist (
Song_Id VARCHAR(20) NOT NULL,
Playlist_Id VARCHAR(20) NOT NULL,
PRIMARY KEY (Song_Id, Playlist_Id),
FOREIGN KEY (Song_id) REFERENCES Song (Id) ON DELETE RESTRICT ON UPDATE CASCADE,
FOREIGN KEY (Playlist_Id) REFERENCES Playlist (Id) ON DELETE RESTRICT ON UPDATE CASCADE
);
Тем не менее, когда я пытался создать таблицу соединений, я получаю сообщение об ошибке:
Сообщение 156, уровень 15, состояние 1, строка 5 Неверный синтаксис рядом с ключевым словом "ОГРАНИЧЕНИЕ".
Мне интересно, как мне решить эту проблему, а также, если я хочу создать индекс для жанра в таблице песен, как мне это сделать?