Din kod för att skapa frågan försöker inte citera strängvärdena:
cmd = "INSERT INTO resulttest (category, value, timestamp) VALUES (" + key + ", " + str(value) + ", " + str(timestamp) + ")"
Titta på SQL-satsen du skrev ut:
INSERT INTO resulttest (category, value, timestamp) VALUES (composed, 2, 1343186948.8)
Bör inte "kategori" citeras?
Du bör inte komponera en SQL-sats med strängoperationer i första hand. Det är så SQL-injektionssårbarheter uppstår. Istället bör du använda platshållare och låta MySQL-biblioteket hantera dem:
c.execute(
"INSERT INTO resulttest (category, value, timestamp) VALUES (?, ?, ?)",
(key, value, timestamp)
)