有没有办法在mysql中添加很多具有快速模式的行?

时间:2015-02-17 10:57:52

标签: mysql phpmyadmin

有没有办法在mysql中添加我想要的值的200行(或其他东西)?

值中有一个模式。像这样:

|maincolumn|column1|column2|column3|column4|
|page1     | 1     | 1     | 1     | 1     |
|page2     | 1     | 1     | 1     | 1     |
|page3     | 1     | 1     | 1     | 1     |
...
|page7     | 1     | 1     | 1     | 0     |

所以基本上7行有4列必须得到1或0.所有组合都应该放在表中。所以7行一起是1个组合。

然后下一个组合应该是:

|maincolumn|column1|column2|column3|column4|
|page1     | 1     | 1     | 1     | 1     |
|page2     | 1     | 1     | 1     | 1     |
|page3     | 1     | 1     | 1     | 1     |
...
|page7     | 1     | 1     | 0     | 1     |

但组合也应该像:

|maincolumn|column1|column2|column3|column4|
|page1     | 0     | 1     | 1     | 1     |
|page2     | 1     | 1     | 1     | 1     |
|page3     | 1     | 1     | 1     | 1     |
...
|page7     | 1     | 1     | 1     | 0     |

|maincolumn|column1|column2|column3|column4|
|page1     | 1     | 1     | 1     | 1     |
|page2     | 1     | 1     | 1     | 1     |
|page3     | 1     | 0     | 0     | 1     |
...
|page7     | 0     | 0     | 0     | 0     |

我需要将所有可用的组合添加到mysql中,正如您所看到的,它将成为很多行。有没有办法以更快的方式添加行,而不是单独添加每一行?特别是对于这些类型的表格,其中有一个模式。

我的php功能现在:

$group=1;
$page=1;
$id=1;

for ($i = 0; $i< 392; $i++){
    DB::table('table')->insert(array(
    'id'=>$id,
    'group'=>$group,
    'page'=>$page,
   //'create'=>$create,
   //'read'=>$read,
   //'update'=>$update,
   //'delete'=>$delete
    ));

    $id++;
    $page++;
    if($page%8==0){
        $group++;
        $page=1;
    }
}

1 个答案:

答案 0 :(得分:0)

由于它似乎是二进制的,为什么不编写一个执行二进制计算的函数,然后通过for循环将每个单个数字存储为数据库中的单独列?如果您使用decbin功能,也可以使用$i计数器作为数字。然后将其转换为字符串,计算长度,然后将其分开。缺少的部分用零填充。