Uw code om de query te maken, probeert de tekenreekswaarden niet te citeren:
cmd = "INSERT INTO resulttest (category, value, timestamp) VALUES (" + key + ", " + str(value) + ", " + str(timestamp) + ")"
Kijk naar de SQL-instructie die u hebt afgedrukt:
INSERT INTO resulttest (category, value, timestamp) VALUES (composed, 2, 1343186948.8)
Moet "categorie" niet worden geciteerd?
U zou in de eerste plaats geen SQL-instructie moeten opstellen met tekenreeksbewerkingen. Dit is hoe kwetsbaarheden voor SQL-injectie ontstaan. Gebruik in plaats daarvan plaatsaanduidingen en laat de MySQL-bibliotheek ermee omgaan:
c.execute(
"INSERT INTO resulttest (category, value, timestamp) VALUES (?, ?, ?)",
(key, value, timestamp)
)