Zmiana następujących elementów powinna rozwiązać problem:
sql = "INSERT INTO record (temperature,humidity) VALUES (%s, %s)"
val = ("2.3","4.5") # You can also use (2.3, 4.5)
mycursor.execute(sql,val)
Interfejs API bazy danych przyjmuje ciągi znaków jako argumenty, a następnie konwertuje je na odpowiedni typ danych. Twój kod zgłasza błąd, ponieważ nie oczekuje %d
lub %f
(int lub float).
Więcej informacji na ten temat można znaleźć tutaj