Ich verwende MySQLdb, um mit der MySQL-Datenbank zu kommunizieren, und kann alle Ergebnismengen dynamisch abrufen.mysqldb konvertiert Zeitstempeldaten in None
Mein Problem ist, dass, sobald ich die Ergebnismenge erhalten habe, gibt es ein paar Spalten, die als Zeitstempel in mysql deklariert werden, aber wenn es abgerufen wird, wird es zu keiner.
Ich habe zwei Spalten, beide sind Zeitstempel deklariert, aber eine gibt korrekte Daten zurück, während andere keine zurückgibt. Sowohl Utime als auch Enddatum sind Zeitstempel, aber Utime wird nicht korrekt zurückgegeben, während Enddatum tut.
['utime', 'userstr', 'vstr_client', 'enddate']
((None, '000102030ff43260gg0809000000000004', '7.7.0', '1970-01-01 12:00:00.000000'))
def parse_data_and_description(cursor, data):
res = []
cols = [d[0] for d in cursor.description]
print cols
print data
for i in data:
res.append(OrderedDict(zip(cols, i)))
return res
def call_multi_rs(sp, args):
rs_id=0;
conn = connect()
cursor = conn.cursor()
try:
conn.autocommit(True)
cursor.execute ("CALL %s%s" % (sp, args))
while True:
rs_id+=1
data = cursor.fetchone()
listout = parse_data_and_description(cursor, data)
print listout
if cursor.nextset()==None:
# This means no more recordsets available
break
Warum wurde diese Antwort abgelehnt? Die Tatsache, dass drei Jahre später der Fehler immer noch nicht behoben wurde, war eine interessante Tatsache für mich (und ich glaube, dass es auch für andere sein wird). Außerdem gibt es die Quelle und eine Lösung, die für mich funktionierte. – Fantilein1990
Ich weiß es nicht, Mann. Das sieht für mich vielversprechend aus und ohne Ihre Antwort wäre ich ohne Umgehung geblieben. – thegiffman