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: [EMAIL PROTECTED]
>
> ³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