2016-03-02 52 views
1

我有多个rights例如。例如,1,2,3,4,5shows_id1,2,3,4,5,6,7,8,9MySQL中1NF中的表格格式php

我想在1NF

插入记录在我的表如果用户选择rights4,5shows_id1,2,5,9 那么我的表应该如下:

OUTPUT:

 | rights    |shows_id 
     --+----------------------+-------- 
     | 4     | 1 
     | 4     | 2 
     | 4     | 5 
     | 4     | 9 
     | 5     | 1   
     | 5     | 2 
     | 5     | 5 
     | 5     | 9 

     $right  = $_POST['rights']; 
     $get_movie = $_POST['shows']; 

     foreach($right as $row){ 
     $aryInsertVals = array ('id' => '' , 

      'rights'   => $row[implode(',',$rights)], 
      'shows_id'  => $row[implode(',',$get_movie)], 
      ); } 

但这只会输入重复的权利...我想要权利和shows_id

+0

这太宽泛了。你试过什么了? – Ceeee

+0

yes..added my code – piyuu

+0

将代码添加到问题中。 –

回答

0

将主键设为两列的组合。因此它不允许你插入重复的行。

如果有两个表权限和显示。

你想要两张表中的笛卡尔积。这是通过从两个表中选择而没有任何附加连接条件来实现的:

mysql> SELECT * FROM rights, showsId; 

Output : | rights    |shows_id 
     --+----------------------+-------- 
     | 4     | 1 
     | 4     | 2 
     | 4     | 5 
     | 4     | 9 
     | 5     | 1   
     | 5     | 2 
     | 5     | 5 
     | 5     | 9 

希望你只是在寻找这个。

+0

你可以建议在mysql中插入查询 – piyuu

+0

我想插入我的记录在db @ user3205932 – piyuu

+0

那么问题是什么。将主键组合为两列。因此它不允许你插入重复的行。 – FallAndLearn