내가 존재하는 경우 배열에서 데이터베이스를 확인할 수있는 방법

비판 :

나는 값이 데이터베이스 행에 존재하는 경우 데이터베이스 삽입 전에 확인하려고합니다.

이건 내 코드입니다. 나는 데이터베이스에있는 경우 배열 값을 확인합니다. 만약 존재 "kullanici"및 데이터베이스에 "totoid"그나마 삽입.

            if($sonuc == 1) {
                $arr[] = '(
                                "' . $mac->kullanici . '",
                                "5",
                                "' . $mac->totoid  . '"
                        )';
            }
            if($sonuc == 2) {
                $arr[] = '(
                                "' . $mac->kullanici . '",
                                "10",
                                "' . $mac->totoid  . '"
                        )';
            }
            if($sonuc == 3) {
                $arr[] = '(
                                "' . $mac->kullanici . '",
                                "15",
                                "' . $mac->totoid  . '"
                        )';
            }
            if($sonuc == 4) {
                $arr[] = '(
                                "' . $mac->kullanici . '",
                                "20",
                                "' . $mac->totoid  . '"
                        )';
            }
            if($sonuc == 5) {
                $arr[] = '(
                                "' . $mac->kullanici . '",
                                "25",
                                "' . $mac->totoid  . '"
                        )';
            }
        }

        $sql = $this->db->query("INSERT INTO kazananlar (kullanici, kazanci, totoid) VALUES " . implode(',', $arr));

여기에 이미지 설명을 입력

GMB :

내가 사용하는 것이 좋습니다 것입니다 insert... on duplicate key구문을 . 이 기술의 상승은 가능한 경쟁 조건에 대해 걱정할 필요가 없습니다 있도록, 단일 쿼리를 사용할 수 있습니다.

이것은 첫 번째 열에 고유 제한 조건 작성하여 작품 kullanicitotoid:

create unique index idx_kazananlar on kazananlar(kullanici, totoid);

그렇다면, 당신은 할 수 있습니다 :

insert into kazananlar (kullanici, kazanci, totoid) 
values (...)
on duplicate key update kullanici = values(kullanici)

행이 이미 같은 존재하면 데이터베이스 검사 kullanicitotoid; 그것은 않는 경우, 다음 on duplicate keys절은 어떤 조합을 수행하지 않습니다.

추천

출처http://43.154.161.224:23101/article/api/json?id=298382&siteId=1