cursor = con.cursor()
cursor.execute("SELECT * FROM users WHERE id = msg.from_user.id")
cursor.execute("SELECT * FROM users WHERE id = {}".format(msg.from_user.id))
Спасибо, сейчас попробую))
Не надо, format в запросах не используется.
Это точно чятик про основы sql?
вроде питона
а sql через раз
опять форматируем запросы строковыми операциями?
Подскажи как лучше тогда человеку
В документации написано, на первой странице.
да тут уже не один раз подсказывали. а за советы подстановки параметров в запросы строковыми операциями впору бы и баны выдавать
ответь ему, а не мне)
приписка Never do this тебя не смущает?
Ну я спрашиваю, про это предупреждение?
да, про это.
А я вот однажды сделал правильно, и получил от базы ответ, что в одном из сорока параметров - ошибка, несоответствие типа. Но беда была в том, что в каком именно из сорока она ответить не смогла.
40 параметров в запросе уже выглядят плохо, даже без ошибок )
А что делать? Этот запрос пишет эти сорок значений в четыре связанные друг с другом таблицы.
Думаю в общих случаях необязательно это делать через один запрос.
Тогда мы просто переносим сложность из базы данных в приложение, но проще и устойчивее система от этого точно не станет. Большим и сложным SQL я как раз пытался упростить питоновскую часть кода.
в отличие от пихтона, не все бд умеют хорошо скейлится
Это был великий и могучий Oracle.
Обсуждают сегодня