有没有办法在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;
}
}
答案 0 :(得分:0)
由于它似乎是二进制的,为什么不编写一个执行二进制计算的函数,然后通过for循环将每个单个数字存储为数据库中的单独列?如果您使用decbin功能,也可以使用$i
计数器作为数字。然后将其转换为字符串,计算长度,然后将其分开。缺少的部分用零填充。