Yang kedua tidak berfungsi, karena Anda menggunakan tiga placeholder di dalam string kueri dan hanya menyediakan satu variabel untuk interpolasi.
updateIndexMySQLQuery = """UPDATE %s
SET numberID=%%s WHERE numberID=%%s;""" % (tableName,)
Dengan cara ini mekanisme pemformatan string tidak mengharapkan Anda untuk memberikan 3 nilai, karena tanda persen "lolos" (malu pada saya untuk versi pertama dari jawabannya).