Модуль MySQLdb поддерживает подготовленные операторы? [дубликат]

11
задан RubenGeert 21 December 2013 в 07:41
поделиться

2 ответа

Проверьте MySQLdb Комментарии к пакету :

«Параметризация» выполняется в MySQLdb путем экранирования строк и последующей их слепой интерполяции в запрос вместо использования MYSQL_STMT API. В результате строки Unicode должны пройти два промежуточных представления (закодированная строка, экранированная закодированная строка), прежде чем они будут получены базой данных.

Итак, ответ: нет, это не так.

17
ответ дан 3 December 2019 в 02:52
поделиться

Есть какая-то параметризация, да .

Даже в этом случае я советую вам перейти на oursql . Это дает много преимуществ по сравнению с MySQLdb:

  • oursql имеет реальную параметризацию.
  • oursql позволяет передавать текстовые или двоичные данные в базу данных и выводить из нее потоком, вместо того, чтобы требовать, чтобы все буферизовалось в клиенте.
  • oursql может как лениво вставлять строки, так и лениво извлекать строки.
  • В oursql по умолчанию включена поддержка юникода.
  • oursql поддерживает python с 2.4 по 2.7 без каких-либо предупреждений об устаревании в 2.6+ (см. PEP 218) и без полного сбоя в 2.7 (см. PEP 328).
  • oursql находится под лицензией BSD.
13
ответ дан 3 December 2019 в 02:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: