5
回答
想把这样无规则的数据入库,最好是用PHP写下!有奖品回赠给你!!
终于搞明白,存储TCO原来是这样算的>>>   

所有数量加起来共计 16692条数据

就给你一张图。然后让你给一个数据库里面有16692条数据jpid都是打乱的。

要求:把以上数据插入到数据库中。

1,最后的数量和我给你的一样
2,不要一开始就数量少的插完。
3,数据少的均匀分一下,11份的样子吧(适当分配就行)。

数据库存表结构:id(自增长) jpid(对应给他的jpid)


id jpid  
1 10
2 2
3 2
4 2
5 3
6 4
7 6
8 7
9 10
10 19

中间省略。。。

16692  2

如果你有弄好的话可以发一份数据库或是执行文件到我的邮箱一份。到时会有手机或是其它奖品做为回报!!

<无标签>
举报
共有5个答案 最后回答: 4年前

直接导出csv格式的,然后再直接导入到mysql中就ok了

--- 共有 1 条评论 ---
不会武功的猪貌似不是你说的那个意思。。就给你一个图。然后向你要一个有16692条的数据库。里面的JPID顺序还不一样。是打乱的那种。。 4年前 回复

你把你的文件粘贴到一个文本中 JPID 和数量之间用 |分开 然后你用PHP去一行行读取该文件

$path = "d:/data.txt";
$items = array();
$handle = fopen($path);
while(!feof($handle)){
  $line = fgets($handle);
  if(!$line ) break;
  $segments = explode('|',$line);
  $jpid = $segments [0];
  $count = $segments[1];
  $items[$jpid]=[$count];
  if(!$jpid) continue;
  if(!$count)continue;
}
fclose($handle);
foreach($items as $key=>$value){
  for($i=0;$i<intval($value);$i++){
    $sql = 'inset into tablename ('jpid') values({$key})';
    执行sql
  }
}



代码我大概写的。 逻辑就是这样。 一行行读取你的数据,写到数组中然后按照数量一条一条的插入  


--- 共有 2 条评论 ---
顶尖反正你把所有的数据都存到数组里,想要打乱方法无数啊 4年前 回复
不会武功的猪貌似这样没有打乱后插入到数据库哦~~ 4年前 回复

意思我明白个大概, 但是从你图片上看, jpid 最大是18, 而你个的演示数据里. 怎么有个
"10 19"

到底jpid的取值范围是多少啊.

给你点思路. 用伪随机数生成一个0到剩余数量-1的数字, 之后根据数据源查找到对应的jpid ,插入数据, 剩余数量-1, 数据源对应jpid数量-1.重复16692次. 貌似会很慢.

另外一个思路. 数据插入的时候不考虑分布, 读取的时候用随机数生成对应的id,之后输出jpid.

--- 共有 1 条评论 ---
不会武功的猪哦。最后一个错了。没有19.。。。 4年前 回复
顶部