Non posso essere sicuro che gli ID generati siano continui, se no, c'è qualche altra via per ottenerli?è possibile recuperare tutte le lastrowid dopo l'esecuzione di execemany in mysqldb?
class BaseDao(object):
def __init__(self,pooldb):
self.pooldb = pooldb
def insertmany(self,sql,args):
conn,cur = None,None
try:
conn = pooldb.dedicated_connection()
cur = conn.cursor()
num=cur.executemany(sql,args)
if num <= 0:
raise Exception("insert failure with num equals zero")
lastrowid = int(cur.lastrowid)
return [range(lastrowid - num + 1,lastrowid+1)]
except:
conn.rollback()
traceback.print_exc()
raise Exception("error happened when insert sql=%s args=%s " % (sql,str(args)))
finally:
if cur:
cur.close()
if conn:
conn.close()
beh, non darò alcuna speranza di risolverlo con decisione tranne che eseguirlo in sequenza, proprio come hai detto – bigwesthorse