我有多个rights
例如。 1,2,3,4,5
和shows_id
例如。 1,2,3,4,5,6,7,8,9
我想在1Nf
中的表格中插入记录如果用户选择rights
4,5
和shows_id
1,2,5,9
那么我的桌子应该如下所示:
输出:
| 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 :(得分: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
希望你只是在寻找这个。