Den andra fungerar inte eftersom du använder tre platshållare i frågesträngen och tillhandahåller endast en variabel för interpolering.
updateIndexMySQLQuery = """UPDATE %s
SET numberID=%%s WHERE numberID=%%s;""" % (tableName,)
På så sätt förväntar sig inte strängformateringsmekanismen att du ska tillhandahålla 3 värden, eftersom procenttecknen är "escaped" (skam mig för den första versionen av svaret).