首页 > 后端开发 > php教程 > 关于避免插入重复数据并统计重复数据的数量的有关问题

关于避免插入重复数据并统计重复数据的数量的有关问题

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
发布: 2016-06-13 13:21:28
原创
898 人浏览过

关于避免插入重复数据并统计重复数据的数量的问题
有一组数据需要插入数据库,比如从EXCEL导入一组数据到MYSQL数据库,如何避免重复插入,这里所指的重复并不是指某一个字段的重复,而是多个字段组合的重复,比如:
id name content  
1 张三 吃饭  
2 李四 吃饭
3 张三 喝水

如上,如果name 和 content字段的值都重复才算重复,比如再插入一条"张三,吃饭"就提示重复并统计出重复的数量和已插入数据的数量,求PHP语句。

------解决方案--------------------

PHP code

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

$excelData = array(

    array('张三', '吃饭'),

    array('李四', '吃饭'),

    array('张三', '喝水'),

    array('李四', '吃饭'),// 重复

    array('张三', '喝水') // 重复

);

 

$mark = array(); // 用来当作唯一标识

foreach ($excelData as $key => $arr) {

    $md5Mark = md5($arr[0] . $arr[1]);

    if (isset($mark[$md5Mark])) {

        unset($excelData[$key]);

    } else {

        $mark[$md5Mark] = 1;

    }

}

 

// 此时你就可以操作$excelData而不用判断了,当然了你也可以直接在else中进行sql语句的组合或者数据库写入操作

p($excelData);

/*

输出:

Array

(

    [0] => Array

        (

            [0] => 张三

            [1] => 吃饭

        )

 

    [1] => Array

        (

            [0] => 李四

            [1] => 吃饭

        )

 

    [2] => Array

        (

            [0] => 张三

            [1] => 喝水

        )

 

)

*/ <div class="clear">

                  

               

               

         

            </div>

登录后复制
相关标签:
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板