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