如何为包含有序列表记录的 MySQL table 建模?

How to model a MySQL table containing records of an ordered list?

参考这个post:Music library MySQL database

artist { id, name }
genre { id, name }
album { id, name, artist_id, release_date, genre_id, picture_url }
track { id, album_id, number, name, playtime, lyrics }

使用上面的table结构,如何防止插入两个具有相同轨道号的轨道?

你做

ALTER TABLE track 
ADD CONSTRAINT UC_track UNIQUE (album_id, number);

唯一键可以防止错误输入相同的 album_id 两个编号相同的曲目。