Duncan Booth <duncan.booth@invalid.invalid> writes: > I'm not MySQL expert, but something like this might work: > > cursor.execute('''UPDATE visitors,counter > SET visitors.hits=visitors.hits+1, visitors.useros=%s, > visitors.browser =%s, visitors.date=%s > WHERE visitors.pin=counter.pin AND counter.page = %s > AND visitors.host=%s''', > (useros, browser, date, page, host))
I stopped surprising at MySQL syntax eons ago, so if that works... great! Otherwise I would write the equivalent statement with a more "standard syntax" (for whatever meaning of "standard" in the SQL world :-) as: UPDATE visitors SET visitors.hits=visitors.hits+1, visitors.useros=%s, visitors.browser=%s, visitors.date=%s WHERE visitors.pin=(SELECT counters.pin FROM counters WHERE counters.page=%s) AND visitors.host=%s But I wonder about the "logic" here: why are you storing the "useros", "browser" and "date" in a table where the primary key seems to be ("pin", "host")? I mean, what happens if a user visits the same page twice, first with Firefox and then with Chrome? hope this helps, ciao, lele. -- nickname: Lele Gaifax | Quando vivrò di quello che ho pensato ieri real: Emanuele Gaifas | comincerò ad aver paura di chi mi copia. l...@metapensiero.it | -- Fortunato Depero, 1929. -- http://mail.python.org/mailman/listinfo/python-list