Din kode til at oprette forespørgslen forsøger ikke at citere strengværdierne:
cmd = "INSERT INTO resulttest (category, value, timestamp) VALUES (" + key + ", " + str(value) + ", " + str(timestamp) + ")"
Se på den SQL-sætning, du udskrev:
INSERT INTO resulttest (category, value, timestamp) VALUES (composed, 2, 1343186948.8)
Bør "kategori" ikke citeres?
Du bør ikke komponere en SQL-sætning med strengoperationer i første omgang. Sådan opstår SQL-injektionssårbarheder. I stedet bør du bruge pladsholdere og lade MySQL-biblioteket håndtere dem:
c.execute(
"INSERT INTO resulttest (category, value, timestamp) VALUES (?, ?, ?)",
(key, value, timestamp)
)