sql >> Databasteknik >  >> RDS >> Mysql

Uppdatera MySql Table från CSV med PHP

Jag har skrivit små php-skript för att åstadkomma detta många gånger och det finns många sätt att gå till:

Det bästa enligt min erfarenhet är att använda CSV-funktioner som tillhandahålls av PHP, ta en titt på fgetcsv() , eftersom att manuellt öppna filen och läsa den rad för rad och tolka kan orsaka komplikationer.

Nu går du bara igenom alla rader i csv och förbereder frågan dynamiskt och kör den till exempel (förutsatt att kolumn 0 har ID och kolumn 1 har "hasweb")

<?php
    if (($handle = fopen("input.csv", "r")) !== FALSE)
    {
        while (($data = fgetcsv($handle, 1000, ",")) !== FALSE)
        {
            mysql_query(UPDATE user_data SET hasweb="{$data[1]}" WHERE consultant_id = "{$data[0]}"); 
        }
    fclose($handle);
    }
?>

Hoppas det hjälper. Om du fortfarande fastnar, fråga mig :)



  1. php-array från mysql

  2. Hur fungerar SQLs konverteringsfunktion när man konverterar datetime till float?

  3. Hur man väljer var n:e rad i mySQL från n

  4. MySQL:Få kolumner efter värdeprioriteter