Ich bin mit Python und MySQLdb speziell eine Datenbank zu füllen, obwohl ein Code, der bis vor kurzem arbeitet wird einen Fehler wirft nach Server bei der Arbeit zu bewegen:MySQLdb Fehler bei der Verwendung von cursor.execute()
Der Code ist :
cursor.execute("""SELECT Entry, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P FROM evaluation""")
result = cursor.fetchall()
for record in result:
codeno=int(str(record[15]))
status, progress, reprocessing = RepStatus_new.get_status(code=codeno, proj_tag=str(record[16]),cache_dir="cache", prod_type="g1")
cursor.execute("""UPDATE evaluation SET M=%s WHERE A LIKE %s""",(progress, int(str(record[15]))))
und die Fehler, die aufkommt ist:
File "mySQLtest.py", line 165, in <module>
cursor.execute("""UPDATE evaluation SET M=%s WHERE A LIKE %s""",(progress, int(str(record[15]))))
File "/usr/lib64/python2.5/site-packages/MySQLdb/cursors.py", line 166, in execute
self.errorhandler(self, exc, value)
File "/usr/lib64/python2.5/site-packages/MySQLdb/connections.py", line 35, in defaulterrorhandler
raise errorclass, errorvalue
_mysql_exceptions.OperationalError: (1205, 'Lock wait timeout exceeded; try restarting transaction')
ich bin nicht sicher, wo dies nicht in Ordnung ist, wie ich diesen Code sagte bis vor kurzem arbeitete. Wenn jemand irgendwelche Vorschläge hat, würden sie sehr geschätzt werden! (I ersetzt Variablen mit Buchstaben-Lese-Fähigkeit zu unterstützen!)
Die Datenbank richtig verbindet, als ich ausgeben kann das „Ergebnis“ nach cursor.fetchall()
Vielen Dank im Voraus