Ändern Sie Ihr SQL
sql = 'UPDATE '+table+' SET {} WHERE cart_SN = '.format(', '.join('{}=%s'.format(k) for k in cart))+sn
Denn in Ihrem Fall
sql = 'UPDATE '+table+' SET {} WHERE cart_SN = '+sn+' '.format(', '.join('{}=%s'.format(k) for k in cart))
Format wird auf ' '.fomat()
angewendet leerer String nicht der Hauptstring