webForumDet fria alternativet

plocka ut skillnader

Databaser & SQLur Databashanterare & SQL

5 svar · 417 visningar · startad av nanne

Medlem sedan dec. 19991 749 inlägg
Frågan#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?

------------------
Fatal Error: Call to undefined function:
brain() in ./self.php on line 1

nanne.net

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..
}
}

------------------
woodi

Svenska FF1
www.johan-skog.nu

[Redigerat av woodi den 20 okt 2000]

Medlem sedan dec. 19991 749 inlägg
#3

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

------------------
Fatal Error: Call to undefined function:
brain() in ./self.php on line 1

nanne.net

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.

------------------
woodi

Svenska FF1
www.johan-skog.nu

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.

------------------
Robban < robban@lipogram.com >

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....

------------------
Fatal Error: Call to undefined function:
brain() in ./self.php on line 1

nanne.net

129 ms totalt · 3 externa anrop · v20260731065814-full.25f56b17
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)