Mysql
 sql >> база данни >  >> RDS >> Mysql

PHP MYSQL импортирайте CSV и след това сравнете и премахнете излишните записи

Просто водете сметка за ключовете си.

Запазете всеки $key в масив във вашия while и накрая изпълнете заявка, която казва

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Вмъкнете списък на Python (JSON или по друг начин) в MySQL база данни

  2. Най-ефективният начин да направите SQL „INSERT IF NOT EXISTS“

  3. Как да групирате по DESC ред

  4. Как да актуализирате колоната с идентификатор, започвайки отново от 1

  5. Как да рестартирате отдалечен MySQL сървър, работещ на Ubuntu linux?