2016-07-25 9 views
-2

Ich habe zwei Tabellen in MySQL-Datenbank. Nehmen wir an, es gibt 1800 Datensätze in Tabelle 1 und 20000 Datensätze in Tabelle 2. Jetzt möchte ich jeden Datensatz in Tabelle 1 mit Tabelle 2 vergleichen und einige Felder in Tabelle 2 für die übereinstimmenden Datensätze aktualisieren.Vergleichen von Datensätzen in einer Tabelle mit anderen für große Datenbanken in PHP

Ich möchte wissen, was der optimalste Weg ist, dies zu tun.

+1

Haben Sie Code? – Maximus2012

+1

Die Frage ist: Wie genau wollen Sie vergleichen? Kannst du JOIN benutzen? –

+0

Ich habe noch nicht angefangen zu programmieren. Gerade jetzt habe ich die Anforderung bekommen. –

Antwort

2

Die effizienteste Operation wäre eine Update-Anweisung, die einen Join verwendet. Etwas wie folgt aus:

UPDATE table_2 AS t2 
INNER JOIN table_1 AS t1 ON t1.some_id = t2.some_id 
SET t2.some_col = t1.some_col; 
+1

Das sieht cool aus. Ich werde es versuchen! Danke –

+1

lol, sehr ängstlich, stellen Sie sicher, dass Sie zuerst Ihre Tabellen sichern. – coderodour

+1

@Assaph: Funktioniert perfekt !! Vielen Dank !! –

-2
<?PHP 
$lim = 5; 
$limit = (int)$_GET['page']*$lim; 
$res = mysql_query("select * from table1 limit $limit,$lim"); 
while($row = mysql_fetch_array($res)){ 
$som = $row['som']; 
$id= $row['id']; 
mysql_query("update table2 set somerow = $som where id=$id"); 
} 
echo "<a href='?page=".$_GET['page']+1."'>Next</a>"; 
?> 
+1

empfehlen nicht die Verwendung der abgeschriebenen mysql API –

+0

bearbeitet und optimiert. aber Sie können JavaScript-Umleitung stattdessen eine href –

+1

verwenden und jetzt haben Sie eine SQL-Injektion-Schwachstelle hinzugefügt –

Verwandte Themen