webForumDet fria alternativet

"UPDATE"-problem

Databaser & SQL

2 svar · 182 visningar · startad av nicclas

Medlem sedan feb. 20001 050 inlägg
Frågan#1

Jag har ett script som loggar "hits". Dessa "hits" vill jag lagra en vecka, och vill kunna presentera antalet "hits" per dag.

För detta har jag en "table" (ne) och 7st columner. En kolumn heter "tempnum" och sedan heter de "statday1" tom "statday6". Dagens "hits" loggas i kolumnen "tempnum" och sedan kopierar jag all info i denna kolumn till "statday1" (och i sin tur kopieras till "statday2" osv.) och sedan nollställs "tempnum"-kolumnen.

MySQL delen ser ut så här:
$res=mysql_query("update ne set statday6=statday5",$link);
$res=mysql_query("update ne set statday5=statday4",$link);
$res=mysql_query("update ne set statday4=statday3",$link);
$res=mysql_query("update ne set statday3=statday2",$link);
$res=mysql_query("update ne set statday2=statday1",$link);
$res=mysql_query("update ne set statday1=tempnum",$link);
$res=mysql_query("update ne set tempnum=0 where tempnum>0",$link);

Detta funkar inte bra. Vissa dagar (scriptet är schemalagt) så blir det fel på kopieringen, och en column (tex statday3) blir 0 och antalet "hits" i "statday2" ser ut att innehålla "hits" för både "statday2" och "statday3"?!

Får man inte göra kolumnkopiering som jag gjort i mitt script? Det verkar som om MySQL inte riktigt hänger med!?

/nicclas - www.nyhetsrubriker.net

Medlem sedan maj 2001431 inlägg
#2

Varför kör du flera SQL anrop?
Borde räcka med ett.

update ne set 
statday6=statday5,
statday5=statday4, 
statday4=statday3,
statday3=statday2, 
statday2=statday1,
statday1=tempnum, 
tempnum=0

------------------
En eller annan godbit från pannan

[Redigerat av Herman den 01 okt 2001]

Medlem sedan feb. 20001 050 inlägg
#3

Ja, det kan man ju undra? :e Provar med ett så får vi se...
Tack!

/nicclas - www.nyhetsrubriker.com

262 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
128 ms — deklarationer (db)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)
128 ms — ändringar (db)