我有一个在this ER-Diagram中表示的mysql数据库。我想在创建ConcertSongs表时添加约束,该表说:“不允许将歌曲添加到乐队没有唱这首歌的音乐会中”。我怎么能这样做?
感谢任何帮助!
答案 0 :(得分:-1)
如果您尝试将歌曲与乐队联系起来,请执行以下操作:
INSERT INTO ConcertSongs (SongID, ConcertID) SELECT AlbumSOngs.SongID, Concert.ConcertID WHERE ConcertSongs.SongID = AlbumSongs.SongID AND AlbumSongs.AlbumID = Albums.AlbumID;
如果您与音乐会ID有关,那么您需要在这样的CASE中使用Alias:
SELECT col1, col2, etc. (case when (state1 = '' and state2 = '')
THEN
//new SQL
ELSE
//SQL
END)
as state from table;
根据您的表格复杂程度,我建议添加新列以用于将它们相互关联,这会减少SQL运行时间,并使您更容易。