sql >> Database >  >> RDS >> Mysql

PHP MYSQL importeert CSV en vergelijk en verwijder overbodige items

Houd gewoon een account bij van uw sleutels.

Bewaar elke $key in een array in your while, en voer uiteindelijk een query uit met de tekst

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. Waarden van array invoegen in MYSQL

  2. psycopg2 lekt geheugen na grote zoekopdracht

  3. Ik moet kolomnamen doorgeven met behulp van variabele in select-instructie in Store Procedure, maar ik kan geen dynamische query gebruiken

  4. Haal pl/sql-array-retourwaarden op in java