sql >> Database teknologi >  >> RDS >> Mysql

PHP MYSQL importer CSV og sammenlign og fjern overflødige poster

Bare hold et regnskab over dine nøgler.

Gem hver $key i et array i din mens, og til sidst køre en forespørgsel, der siger

DELETE FROM tabel WHERE key NOT IN (listofcommaseparatedkeysgoeshere)
$arrayThatYouNeedToTest = array();
$handle = fopen($file,"r");
fgetcsv($handle, 1000, ",");//skip first row since they are headers
while(($fileop = fgetcsv($handle, 1000, ",")) !== false) //read line by line into $fileop
{
  //read array values into vars
  $item1 = $fileop[0];
  $item2 = $fileop[1];
  $key = $fileop[2];
  // and a couple more

  // now INSERT / UPDATE data in MySQL table
  $sql = mysql_query("INSERT INTO table (item1,item2,key) 
    VALUES ('$item1','$item2','$key') 
    ON DUPLICATE KEY UPDATE item1='$item1',item2='$item2'");

   $arrayThatYouNeedToTest[] = $key;    

}

$stringThatYouNeedToInspect = implode(",",$arrayThatYouNeedToTest);
$queryYouREALLYneedToCheckFirst = "DELETE FROM tabel WHERE key NOT IN  (".$stringThatYouNeedToInspect.")";

//$result = mysql_query($queryYouREALLYneedToCheckFirst);


  1. Få medarbejdere, der er under gennemsnitsløn efter en lønforhøjelse

  2. hvordan man skriver en forespørgsel baseret på dens kolonne

  3. Symfony+doktrin:Korrekt YAML-syntaks for standardværdien af ​​boolesk felt

  4. Sådan bruger du HAVING-sætning i SQL