Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

PHP MYSQL nhập CSV và sau đó so sánh và loại bỏ các mục nhập thừa

Chỉ cần giữ một tài khoản của các chìa khóa của bạn.

Lưu mọi $key trong một mảng trong thời gian của bạn và cuối cùng chạy một truy vấn cho biết

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. Cách lặp qua tập kết quả mysql

  2. Không thể kết nối với MySQL thông qua tập lệnh PHP khi sử dụng mysqli hoặc PDO NHƯNG mysql hoạt động

  3. Thoát khỏi báo giá đơn trong PHP khi chèn vào MySQL

  4. Ràng buộc khóa ngoại MySQL, xóa theo tầng

  5. Cách kết nối với mysql đang chạy trong vùng chứa từ máy chủ