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