Ich habe versucht, die Antwort auf diese Frage zu finden, aber keine der Antworten passen.Wie mit PHP zu überprüfen, hat eine SQL-Datenbank bereits
Ich habe zwei Datenbanken, eine hat 15.000.000 Einträge und ich möchte die notwendigen Daten extrahieren und in einer viel kleineren Datenbank mit rund 33.000 Einträgen speichern. Beide Datenbanken sind gleichzeitig geöffnet. Oder zumindest sollten sie sein.
Während die große Datenbank geöffnet ist und die Einträge daraus extrahiert werden, kann überprüft werden, ob der Wert in einer bestimmten Tabelle in der kleineren Datenbank bereits existiert? Ich brauche nur einen generischen Weg, der das überprüft.
In meinem Code, den ich zunächst beide Datenbanken zu öffnen (große ist oddsnavi_push, kleine ist 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);
Und dann fange ich zu lesen und Daten aus oddsnavi_push zu berechnen:
$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')";
Es funktioniert bis zu diesem Punkt. Es nimmt die Daten, die gelesen wurden (id, eins, zwei) und fügt sie in richtige Spalten in oddsnavi_baby Tabelle namens calc ein. Es tut das richtig, wenn das oddsnavi_baby vollständig leer ist.
Allerdings muss ich nur die Datenbank aktualisieren, wenn ein Eintrag (basierend darauf, ob eine bestimmte 'ID' existiert oder nicht) nicht existiert.
EDIT: Ich werde meine Frage umformulieren. Aus den Abfrageergebnissen (große Datenbank) bekomme ich Strings für jede Zeile. Zum Beispiel $ string. Wie öffne ich die zweite Datenbank und überprüfe ob die oddsnavi_baby.calc Tabelle den $ string Wert in der Spalte Events hat?
Schwer zu sagen, ohne den Code zu wissen, und was haben Sie versucht. – kapa
könnten Sie eine präsente Ansicht erstellen? – dynamic