在查询执行时创建多个具有相同初始值但不同的表名的SQL表

时间:2015-03-11 22:43:50

标签: php ios mysql json

我正在开发一个iOS应用程序,允许用户创建派对播放列表,并让其他用户加入该派对播放列表,以对播放列表中的歌曲进行投票。

我正在使用SQL(通过php连接到iOS)在创建聚会时执行“创建表”查询。此表将包含歌曲名称,艺术家姓名,歌曲URL(播放歌曲所需)以及每首歌曲的投票计数。

我的问题是我无法理解如何为应用程序用户创建的每个方创建一个表。如果您有create table party(...)个查询并多次执行,则会显示table 'party' already exists

有没有办法让一个查询能够使每个聚会表名彼此不同?有点像party1表,party2表,party3表......

1 个答案:

答案 0 :(得分:0)

在我看来,每个播放列表都不应该作为一个表格。需要将所有播放列表放入表格中,并将其歌曲放入另一个表格中。见下文

表格播放列表

    id | user_id 
party1 |   userA
party2 |   userA
pop1   |   userB

table playlist_songs

id | playlist_id | song_name | artist_name|                    song_urls
 1 |   party1    | My Song A |       Mr Me| http://www.me.com/song_a.mp3
 2 |   party2    | My Song B |       Mr Me| http://www.me.com/song_a.mp3
 3 |   party1    | My Song C |       Mr Me| http://www.me.com/song_a.mp3
 4 |   pop1      | My Music 1|      Ms You| http://www.you.com/1.mp3

如您所见,这样您就不必担心为每个播放列表创建表格了。

我们来看看 userA有2个播放列表(一个有歌曲,另一个有2首歌曲) userB有1个播放列表和一首歌

- 以下不推荐 -

但是,如果您坚持创建表,则始终可以将IOS变量注入您使用的create table SQL

所以而不是

var sql = "CREATE TABLE PARTY'

你使用

var sql  = "CREATE TABLE PARTY" + variable

其中variable可以是日期时间戳

希望有所帮助