我试图找到这个问题的答案,但没有一个答案适合。
我有两个数据库,一个有 15.000.000 个条目,我想提取必要的数据并将其存储在一个包含大约 33.000 个条目的小得多的数据库中。两个数据库同时打开。或者至少他们应该是。
在打开大数据库并从中提取条目时,是否可以检查该值是否已存在于较小数据库的某个表中?我只需要一些通用的方法来检查它。
在我的代码中,我首先打开两个数据库(大的是oddsnavi_push,小的是oddsnavi_baby):
$database = "oddsnavi_push";
$db_handle = mysql_connect($server, $user_name, $password);
$db_found = mysql_select_db($database, $db_handle);
$database_baby = "oddsnavi_baby";
$db_handle_baby = mysql_connect($server, $user_name, $password);
$db_found_baby = mysql_select_db($database_baby, $db_handle_baby);
然后我开始从oddsnavi_push 读取和计算数据:
$SQL_SELECT_ALL = "...giant query...";
$result_select_all = mysql_query( $SQL_SELECT_ALL );
while($db_field_all = mysql_fetch_assoc( $result_select_all ) ) {
$SQL_INSERT="INSERT INTO oddsnavi_baby.calc (id, one, two) VALUES ('$id', '$one', '$two')";
它一直工作到那时。它获取读取的数据(id、一、二)并将它们插入到名为 calc 的oddsnavi_baby 表中的适当列中。当oddsnavi_baby 完全为空时,它会正确执行此操作。
但是,我只需要它来更新数据库,如果一个条目(基于是否存在某个“id”)不存在。
编辑:我会改写我的问题。从查询结果(大数据库)中,我得到了每一行的字符串。例如$字符串。如何打开第二个数据库并检查oddsnavi_baby.calc 表是否在事件列中具有$string 值?