@zyusifov11

Mysql syntax error ошибка?

cursor.execute("SELECT price FROM statistic WHERE `date` = {} AND `time` = {}".format(date,f"{deltime_1.hour}:{deltime_1.minute}"))

Что же тут не так то
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 ':27' at line 1
  • Вопрос задан
  • 103 просмотра
Решения вопроса 1
sergey-gornostaev
@sergey-gornostaev Куратор тега Python
Седой и строгий
Если уж искать проблем, формируя SQL-запросы интерполяцией строк, то хоть делать это единообразно. Либо так

f"SELECT price FROM statistic WHERE `date` = '{date}' AND `time` = '{deltime_1.hour}:{deltime_1.minute}'"

либо так

"SELECT price FROM statistic WHERE `date` = '{}' AND `time` = '{}:{}'".format(date, deltime_1.hour, deltime_1.minute)
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@mSnus
У вас получается time={}16:27, то есть фигурная скобка закрылась раньше времени
Ответ написан
@o5a
Лучше сразу использовать подстановку параметров вместо форматирования строки
cursor.execute("SELECT price FROM statistic WHERE `date` = %s AND `time` = %s", (date, f"{deltime_1.hour}:{deltime_1.minute}"))
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
08 мар. 2021, в 10:02
75000 руб./за проект
08 мар. 2021, в 10:00
700 руб./за проект
08 мар. 2021, в 08:37
3000 руб./за проект