Váš kód pro vytvoření dotazu se nepokouší citovat hodnoty řetězce:
cmd = "INSERT INTO resulttest (category, value, timestamp) VALUES (" + key + ", " + str(value) + ", " + str(timestamp) + ")"
Podívejte se na vytištěný příkaz SQL:
INSERT INTO resulttest (category, value, timestamp) VALUES (composed, 2, 1343186948.8)
Neměla by být uvedena „kategorie“?
V první řadě byste neměli skládat příkaz SQL s operacemi s řetězci. Takto dochází k chybám zabezpečení vkládání SQL. Místo toho byste měli používat zástupné symboly a nechat knihovnu MySQL, aby si s nimi poradila:
c.execute(
"INSERT INTO resulttest (category, value, timestamp) VALUES (?, ?, ?)",
(key, value, timestamp)
)