您好我一直面临一个小问题,如何为这种情况有效地创建数据库:
一、数据库方案。
CREATE TABLE IF NOT EXISTS `songs` (
`url` varchar(12) NOT NULL,
`author` varchar(250) NOT NULL,
`name` varchar(255) NOT NULL,
`id` int(11) NOT NULL AUTO_INCREMENT,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=293 ;
CREATE TABLE IF NOT EXISTS `account` (
`id` int(11) NOT NULL,
`login` varchar(15) NOT NULL,
`password` varchar(20) NOT NULL,
`social_fb` varchar(20) NOT NULL,
`social_yt` varchar(20) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
CREATE TABLE IF NOT EXISTS `playlists` (
`id` int(11) NOT NULL,
`accountid` int(11) NOT NULL,
`songs` varchar(10000) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
二、思想。
每个用户(帐户)可以有多个播放列表。播放列表将包含以 id 存储在“歌曲”中的歌曲。
三、结论
1)我非常确定这个数据库方案不是针对这类问题修复的。我不知道它如何将songs.id 放入播放列表表并将其分配给用户。你能帮我解释一下它应该是什么样子吗?
2) 从用户中检索单个播放列表的可能查询 a) 获取分配给用户帐户的播放列表的 ID。
谢谢你的时间。