Schrift
[thread]3439[/thread]

komplexes update



<< >> 5 Einträge, 1 Seite
esskar
 2004-04-12 23:14
#32024 #32024
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
wie bring ich folgende bedingung in ein mysql statement:

UPDATE datumFeld mit NOW genau dann wenn datumFeld + 1 Stunde < NOW ist und sessionID = $sessionId

toll wär auch noch, wenn $dbh->do auch noch zurück geben würde, ob es geupdatet hat, oder nicht!
Strat
 2004-04-12 23:53
#32025 #32025
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
updaten koenntest du folgendermaszen (nicht getestet):
[sql]UPDATE tabelle
SET datumFeld = NOW()
WHERE TO_DAYS(NOW()) - TO_DAYS(datumFeld) > 1/24
[/sql]
1/24 entspricht einer Stunde

wie man die upgedateten datensaetze zurueckbekommt, kann ich dir aber nicht sagen; da faellt mir jetzt nur ein lock tables ein, dann ein select, und dann das update, und dann das unlock tables... aber du kannst ja die letzten Now's auslesen...\n\n

<!--EDIT|Strat|1081799660-->
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
esskar
 2004-04-13 00:03
#32026 #32026
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
also weder

Code: (dl )
1
2
3
4
5
my $statement = qq~UPDATE $libyn::Config::DbTables{user_settings}
                   SET
                   lastAction=NOW()
                   WHERE sessionId=$sidQ and DATE_ADD(lastAction, INTERVAL 1 HOUR) < NOW()~;


noch

Code: (dl )
1
2
3
4
my $statement = qq~UPDATE $libyn::Config::DbTables{user_settings}
                   SET
                   lastAction=NOW()
                   WHERE sessionId=$sidQ AND TO_DAYS(NOW()) - TO_DAYS(lastAction) > 1/24~;


funzt!
esskar
 2004-04-13 00:30
#32027 #32027
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
ich ocks...
wenn ich rechnen könnte, wär ich echt im vorteil!

Code: (dl )
1
2
3
4
my $statement = qq~UPDATE $libyn::Config::DbTables{user_settings}
SET
lastAction=NOW()
WHERE sessionId=$sidQ and DATE_ADD(lastAction, INTERVAL 1 HOUR) > NOW()~;


man beachte das größerzeichen im vergleich zu oben!
esskar
 2004-04-13 00:31
#32028 #32028
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
das gute ist, dass mir do jetzt 1 zurück liefert;
vorher, als nix geupdatet wurde, kam 0E0 zurück...
also ist das ganz praktisch! :)
<< >> 5 Einträge, 1 Seite



View all threads created 2004-04-12 23:14.