次のようなデータベースがあります。
2 番目から 7 番目のようなエントリを削除する必要があります。そのうちの 1 つだけが必要です。と の値が 同じ場合movie_id
、それらはすべて同じです。question_id
私は現在次のことを行っており、タイムアウトするまで機能しますが、ID 列でわかるように、50,000 を超えるエントリがあることがわかるように、1,000 程度のエントリでタイムアウトになります。
$top_index = count($all_movies)-1;$top = $all_movies[$top_index];
$max = $top->id;
for($i = 25200; $i<$max-1;$i++){
for($j = 0; $j<$max-1;$j++){
if($i != $j){
if($all_movies[$i]->movie_id == $all_movies[$j]->movie_id){
if($all_movies[$i]->question_id == $all_movies[$j]->question_id){
if($all_movies[$i]->value == $all_movies[$j]->value){
echo 'Need to remove '. $all_movies[$j]->id.':<br> Movie Id:'.$all_movies[$i]->movie_id.' Question ID: '.$all_movies[$i]->question_id.' Value: '.$all_movies[$i]->value.'<br>';
echo 'Matched with: <br>'. $all_movies[$i]->id.': Movie Id:'.$all_movies[$j]->movie_id.' Question ID: '.$all_movies[$j]->question_id.' Value: '.$all_movies[$j]->value.'<br>';
$delete = $post2->movie_value_delete($all_movies[$j]->id);
echo 'Deleted: '.$all_movies[$j]->id.'<br><br>';
}
}
}
}
}
}