Я получаю ошибку по моему запросу. Ошибка
mysql.connector.errors.ProgrammingError: 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '18:07:41' at line 1
Прежде всего, я не понимаю, к чему относится строка 1, поскольку мой запрос не находится на строке 1 в моем скрипте Python.
Мой код выглядит так
conn = mysql.connector.connect(
host='HOST.mysql.pythonanywhere-services.com',
user='USER',
passwd='PASSWORD',
db='DBNAME')
c = conn.cursor()
value = datetime.now() - timedelta(5)
value = value.strftime('%Y-%m-%d %H:%M:%S')
c.execute("SELECT temp, humidity, rain, datetime FROM data WHERE datetime >= (%s);" % (value))
rows = c.fetchall()
И дата / время вводятся в базу данных в другом скрипте как
str(datetime.datetime.now())
Это даже лучший способ сделать это? Я просто хочу отметку времени, когда значение было введено в базу данных.
Я проверил, используя другой параметр в запросе, например значение temp
value = 10
c.execute("SELECT temp, humidity, rain, datetime FROM data WHERE temp >= (%s);" % (value))
Так что я думаю, что это должно быть связано с тем, как я форматирую дату и время, однако я не уверен, как это проверить.
Спасибо за любую помощь