Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

php mysql लोड डेटा INFILE के साथ प्रत्येक रिकॉर्ड के लिए चर मान को 1 से कैसे बढ़ाएं

शायद इस तरह:

 /*1 get last serial number.

 open csv file.
 foreach row in csv file:
    increment serial number.
    if max number
       set serial number to 0.
    add new field to csv row

 close csv file

 insert csv to database*/


    $query_max = mysql_fetch_array(mysql_query("SELECT id, latest_serial_no FROM ".DB_NAME2.".latest_serial_number WHERE id=1"), MYSQL_ASSOC);
    $serial_no_max = $query_max["latest_serial_no"];
    $serial_no_max_new = $serial_no_max;
    if ($serial_no_max > 999999998) {$serial_no_max_new = 000000000;}

    $padd = "";
    $serial_len = strlen($serial_no_max_new);
    if($serial_len < 9) {
        $serial_len = (9 - $serial_len);
        for($is=0;$is<$serial_len;$is++) {
            $padd .= "0";
        }
        $serial_no_max_new = $padd . $serial_no_max_new;
    }
    $query_serial = trim($serial_no_max_new);
    //echo "q_s: ".$query_serial;

    // Add serail number to csv code
    $csv = fopen($target_file, "r");
    $tmp_csv_addr = $target_file . "2";
    $tmp_csv = fopen($tmp_csv_addr, "a");
    while (($data = fgetcsv($csv, 0, ",")) !== FALSE) {
        $data[] = $query_serial;
        fputcsv($tmp_csv, $data, ",");
    }
    fclose($csv);
    fclose($tmp_csv);

    // Insert into database
    $loadsqlfiletodb = "LOAD DATA LOCAL INFILE '".$tmp_csv_addr."'
    INTO TABLE ".DB_NAME2.".list_data
    FIELDS TERMINATED BY ','
    OPTIONALLY ENCLOSED BY '\"' 
    LINES TERMINATED BY '\n'
    IGNORE 1 LINES 
    (first,last,address,city,state,zip,company,tracking_number,vin,year,make,model,rough,average,clean,misc1,misc2,misc3,misc4,misc5,misc6,misc7,misc8,misc9,misc10,list,email,phone,image_name,image_path,serial_no)
    SET cid = ".$campaignid.",
        jid = ".$jobid;

    mysql_query($loadsqlfiletodb) or die(mysql_error());

    unlink($tmp_csv);


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. कमांड लाइन का उपयोग करके mysql उपयोगकर्ता पासवर्ड बदलें

  2. MySQL क्लॉज द्वारा ऑर्डर करने से पहले स्पेस हटा दें

  3. SQL में REPLACE बनाम INSERT

  4. क्या किसी तालिका को गतिशील रूप से सामान्य करना व्यावहारिक है?

  5. दिनांक को एक प्रारूप से दूसरे प्रारूप में कैसे बदलें?