Drugi nie działa, ponieważ używasz trzech symboli zastępczych wewnątrz ciągu zapytania i podajesz tylko jedną zmienną do interpolacji.
updateIndexMySQLQuery = """UPDATE %s
SET numberID=%%s WHERE numberID=%%s;""" % (tableName,)
W ten sposób mechanizm formatowania ciągów nie oczekuje od Ciebie podania 3 wartości, ponieważ znaki procentu są „unikane” (wstyd mi za pierwszą wersję odpowiedzi).