Re: Add New Records Only!

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Ave,

"Three: Insert everything and remove duplicates later."

Out of the suggested options, this option is sounding the most sane
attainable on my end. I don't have a complete grip on how to accomplish
this, but certainly sounds feasible. Let me look at ways to achieve this.

Thanks!

On 3/23/07 11:36 AM, "Mark" <markw@xxxxxxxxxxxxxx> wrote:

> Rahul Sitaram Johari wrote:
> 
> As far as I can see, there is probably only three ways to do this:
> 
> One: Make sure your dbase system contains unique primary key capability, and
> use it to avoid duplicates.
> Two: query for the row, if it isn't there insert it. (You'll have to deal
> with concurrency with locking or something)
> Three: Insert everything and remove duplicates later.
> 
>> Ave,
>> 
>> Let me explain what I¹m trying to do. Unfortunately it¹s not a very simple
>> Add/Update transaction.
>> Basically I gather records from multiple mySQL tables and add them to a
>> DBF
>> (dbase) database.  I wrote a code which was able to accomplish this
>> without any problems and the add_records goes very smooth.
>> 
>> However, I have to modify this program now so that only ³New² records,
>> i.e., records that have not yet been transferred, are added into the DBF.
>> In other words, any records that are being added, which already exist in
>> the DBF, should not be added.
>> 
>> If it were just adding records from one mySQL to another mySQL, I could
>> easily use INSERT IGNORE or the Unique Key fundamental ­ however, since
>> I¹m adding from multiple mySQL tables into DBF, I¹m not sure how to go
>> about doing this.
>> 
>> Here¹s my code that takes records from multiple mySQL tables and adds them
>> to a DBF.
>> 
>> // define the array with mySQL Table Names & Identifier
>>     $tChoice = array(
>>        "lodispo" => "VB",
>>        "lodispo_osma" => "ATL",
>>        "lodispo_osmh" => "HOU",
>>        "lodispo_osmn" => "NSV",
>>        "lodispo_osmp" => "PAA",
>>        "lodispo_osmj" => "JAX",
>>        "lodispo_osmt" => "TPA",
>>        "lodispo_dmam" => "MET",
>>        "lodispo_osmf" => "FTM",
>>        "lodispo_hfglend" => "GLEND",
>>           "lodispo_hfmesa" => "MESA",
>>           "lodispo_hfphenx" => "PHENX",
>>     );
>> 
>>                 
>>     // open DBF in read-write mode
>>     $db2 = dbase_open($theDBFfile, 2);
>>     if (!$db2) {
>>       echo "<BR><BR><STRONG>Fatal Error:</STRONG> Unable to open
>> database<BR><BR>";
>>       exit;
>>     }
>>     
>>     else {
>>     
>>             // Let's Run Array Loops!
>>             foreach ($tChoice as $tblQ => $bxQ) {
>>             
>>             // connect to mySQL tables one by one
>>             mysql_select_db($database_imslead_transfer,
>>             $imslead_transfer); $query_loDispo = "SELECT * FROM $tblQ";
>>             $loDispo = mysql_query($query_loDispo, $imslead_transfer) or
>> die(mysql_error());
>>             $row_loDispo = mysql_fetch_assoc($loDispo);
>>             $totalRows_loDispo = mysql_num_rows($loDispo);
>>               
>>             // write mySql data to Dbf
>>             do {
>>                  dbase_add_record($db2, array(
>>                      $row_loDispo['phone'],
>>                      $row_loDispo['comments'],
>>                      $row_loDispo['starttime'],
>>                      $row_loDispo['endtime'],
>>                      $row_loDispo['dispo'],
>>                      $row_loDispo['loanofficer'],
>>                      $row_loDispo['verifier'],
>>                      $bxQ));
>>                  } while ($row_loDispo = mysql_fetch_assoc($loDispo));
>>             }
>>          
>>     dbase_close($db2);
>>     }
>> 
>> Any suggestions would be highly appreciated.
>> 
>> Thanks,
>> 
>> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> Rahul Sitaram Johari
>> CEO, Twenty Four Seventy Nine Inc.
>> 
>> W: http://www.rahulsjohari.com
>> E: sleepwalker@xxxxxxxxxxxxxxxx
>> 
>> ³I morti non sono piu soli ... The dead are no longer lonely²

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux