我有两个数据库,一个非常大(5 GB),另一个更小,使用作为cron作业运行的PHP进行更新,以从大数据库。在SQL数据库中插入/更新/删除条目的PHP代码
到目前为止,我已经能够从大数据库中提取数据并将其插入小数据库中,如果该行尚不存在的话。
这是一个数据库行的样子:
123456 TeamA-TeamB 1.14 4.30 7.60
(id, eventname, odds1, oddsX, odds2)
的PHP需要一)检查该行是否存在,B1),添加它,如果它不存在,B2),如果它确实存在检查做的值odds1,oddsX和odds2不同,c)如果他们这样做,更新值。
这是做了的代码)和B1):
$SQL_INSERT="INSERT IGNORE INTO oddsnavi_baby.calc (id, eventname, odds1, oddsX, odds2) VALUES ('$eventid', '$eventname', '$odds1', '$oddsX', '$odds2')";
mysql_db_query($database_baby, $SQL_INSERT) or die("Failed Query of " . $SQL_INSERT);
如何改变这一部分获得该行更新如果任odds1,oddsX或现有值odds2比那些不同打算写入数据库?如果的任何值不同,那么如果该行将被更新也是好的,因为前两个不会改变。
你为什么不使用select查询检查的目的,然后,如果其他人返回null插入查询,如果差价不为空选择查询然后更新查询 – 2012-04-07 10:57:26
大数据库有15.000.000行。我认为每次通过33.000行较小的数据库运行查询会太慢,如果存在,我正在寻找更快的解决方案。 – 2012-04-07 11:30:18