plocka ut skillnader

Databaser & SQL

5 svar · 437 visningar · startad av nanne

Medlem sedan dec. 19991 749 inlägg
Trådstart#1

Jag har två databaser med samma uppbyggnad.

De båda ska ha samma innehåll men nu så fattas c:a 3000poster i den ena databasen.

Hur ska SQLen se ut?

Medlem sedan feb. 20001 270 inlägg
#2

Två olika sätt ser jag som en lösning:

1. Dumpa den kompletta tabellen, och ersätt den inkompletta med den kompletta.
2. Loppa igenom den kompletta tabellen och på så sätt se vilka poster som inte finns i den andra tabellen.

$res=mysql_query("select * from kompletttabell");
while($row=mysql_fetch_array($res, MYSQL_ASSOC)){
$res2=mysql_query("select * from inkompletttabell where fält1=$row[fält2]");
if(mysql_numrows($res2)==0){
updatera den inkompletta databasen..
}
}

Medlem sedan dec. 19991 749 inlägg
#3

Okej... så det går alltså inte med ett enda SQL anrop. Damn!

Medlem sedan feb. 20001 270 inlägg
#4

Inte vad jag vet iaf.. Det Du vill åstadkomma är ju en select och insert i samma SQL-sats, vilket är omöjligt.

Medlem sedan dec. 19992 555 inlägg
#5

Om detta är en engånsföreteelse är det nog smidigast att dumpa den ena, och läsa in i den andra. Som woodi skriver.

Om det är ett konstant problem, d.v.s. att du har två databaser som hela tiden skall vara synkronsierade med varandra, så har MySQL numera inbyggt stöd för detta.

Medlem sedan dec. 19991 749 inlägg
#6

Kanske beskrev problemet lite otydligt.

Har en databas med massa användare där lösenordet är krypterat.

I den andra databasen så finns det en identisk tabell men där lagras lösenorden i klartext (för att kunna skicka ut ifall nån har glömt)

Tyvärr så finns det användare som inte har sitt lösen i klartext eftersom de lages in innan jag bygde det systemet och det är dom jag vill plocka ut.

Det är helsjukt! När jag jämnför tabellerna så får jag att c:a 3000 personer inte har lösen i klartext (när jag gör en vanlig count(*) på båda tabellerna).
Men när jag gör en funktion som woodi beskrev så får jag 6000 träffar!

helmysko....

266 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)
129 ms — ändringar (db)