Τη Παρασκευή, 25 Ιανουαρίου 2013 11:56:44 μ.μ. UTC+2, ο χρήστης Dennis Lee 
Bieber έγραψε:

=====================
                        #find the visitor record for the (saved) cID and 
current host 
                        cur.execute('''SELECT * FROM visitors WHERE counterID = 
%s and host = %s''', (cID, host) )                                   
                        data = cur.fetchone()        #cID&host are unique
                        
                        if not data:
                                #first time for this host on this page, create 
new record 
                                cur.execute('''INSERT INTO visitors (counterID, 
host, userOS, browser, lastvisit) VALUES (%s, %s, %s, %s, %s)''',
                                                                                
                                                                                
                                        (cID, host, useros, browser, date) )
                        else:
                                #found the page, save its primary key for later 
use 
                                vID = data[0] 
                                #UPDATE record using retrieved vID 
                                cur.execute('''UPDATE visitors SET userOS = %s, 
browser = %s, hits = hits + 1, lastvisit = %s
                                                                        WHERE 
counterID = %s and host = %s''', (useros, browser, date, vID, host) )
=======================================

Instead of the above logic which you provided and it works as expected, 
wouldn't be easier to just:

Try to update the 'visitors' record, for that 'page' and that 'host'
if update fails(doesnt return any data), then we insert a new record entry.

We dont have to check 'SELECT * FROM visitors WHERE counterID = %s and host = 
%s' first, this one less cursor.execute.
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to