Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 21, 2009 17:32:49

pasaranax
От:
Зарегистрирован: 2009-06-13
Сообщения: 574
Репутация: +  0  -
Профиль   Отправить e-mail  

MySQLdb. Имя таблицы из переменной генерит неправильный запрос.

Есть такой кусок кода:

                c.execute("SELECT code FROM %s WHERE name = %s AND producer = %s ORDER BY prefix ASC LIMIT 1",
(self.mysql["table"], product[0][0], product[0][1]))
В итоге “FROM %s” превращается в “FROM ‘tableName’” и мускль ругается на то, что имя таблицы в кавычках. Как этого избежать?



Офлайн

#2 Ноя. 22, 2009 00:27:18

dimabest
От:
Зарегистрирован: 2009-02-12
Сообщения: 253
Репутация: +  0  -
Профиль   Отправить e-mail  

MySQLdb. Имя таблицы из переменной генерит неправильный запрос.

sql = "SELECT code FROM " + self.mysql["table"] + " WHERE name = %s AND producer = %s ORDER BY prefix ASC LIMIT 1"
c.execute(sql, (product[0][0], product[0][1]))
плейсхолдеры используются только для данных.



Отредактировано (Ноя. 22, 2009 00:27:42)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version