ich hab leider ein Problem mit Python3.6 und einer MySql Datenbank.
Ich habe mir einen Connector gebaut, der sich ohne Probleme mit der Datenbank verbindet, Insert, Updates und Select Statements abfeuert und die Verbindung sauber schließt. Das funktioniert auch alles ohne Probleme.
In einer Tabelle wird ein Numpy-Array als Text in die Spalte geschrieben (das ist eine Vorgabe). Das sieht dann z.b. so aus: [10 5 32 19]
Nun möchte ich das Array wieder aus der Tabelle lesen. Das Problem tritt aber beim fetchen der Zeile auf.
Folgendes passiert:
Ich bekomme eine ID für das Array und möchte es aus der Datenbank lesen. Dies mache ich wie folgt:
Code: Alles auswählen
con = ... # Verbindung aufbauen
cur = con.cursor()
cur.execute('SELECT myarray FROM table WHERE id = 1')
result = cur.fetchone()
print(result[0])
> [136 90 87 ... 66 96 125]
Ich habe schon viele verschiedene Möglichkeiten ausprobiert, den gesamten String, der auch komplett in der Datenbank eingetragen ist, zu erhalten. Leider ohne Erfolg. Scheinbar macht mir das WHERE irgendwie ein Problem, denn wenn ich keinen where Teil habe, bekomme ich auch das gesamte Array aus der Datenbank. Zum Beispiel:
Code: Alles auswählen
cur.execute('SELECT myarray FROM table')
result = cur.fetchone()
print(result[0])
> # Hier wird das gesamte Array ausgegeben. Ich erspar euch mal das gesamte Array.
Würde mich echt freuen wenn mir jemand sagen könnte, was ich falsch mache oder wie ich es schaffe den String zu erhalten.
Gruß,
swas