Добрый вечер, работал я над сайтом и подумал как облегчить обращение к базе, да-да я знаю про sqlalchemy и тд. но так как я новичок мне нужно изучить всё!
class Set(object):
def __init__(self, table, column, value, value_id):
conn = db.connect()
cursor = conn.cursor()
cursor.execute('''UPDATE %s SET %s = %s WHERE id = %s''', (table, column, value, value_id))
conn.commit()
@Init.route('/')
def init():
Set(table = "app", column = "state", value = "true", value_id = 1)
return ('success')
Тут есть экземпляр класса, в который я передаю все нужные переменные, так-же функция инициализации принимает все эти переменные и уже работает с ними с библиотекой
Flask-MySQL
, снизу у меня есть роутер который передаёт саму информацию нужную для работы класса.
К моему сожалению, ничего не вышло, трейсбэк выглядит так:
pymysql.err.ProgrammingError: (1064, "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 ''app' SET 'state' = 'true' WHERE id = 1' at line 1")
Я так понимаю жалуется на
Set(table = "app", column = "state", value = "true", value_id = 1)
а именно на кавычки, MySQL их не принимает, а если пробовать без них то это равносильно присваивании переменной к переменной.
Так вот, можно что-то подобное провернуть в python?