@AlexUU

Как в mysql.connector отключить добавление одинарных кавычек?

Добрый день

Имея незамысловатый код на Python, при помощи mysql.connector хочу выполнить запрос создания базы данных. Проблема в том, что метод execute добавляет на каждую вставку %s одинарные кавычки, т.е. в итоге шаблон запроса:
CREATE DATABASE `%s` CHARACTER SET %s COLLATE %s

превращается в:
CREATE DATABASE `'db_name1'` CHARACTER SET 'utf8mb4' COLLATE 'utf8mb4_unicode_520_ci'

вместо:
CREATE DATABASE `db_name1` CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_520_ci


Чуть более детальный код на всякий случай
from mysql.connector import connect, Error

MYSQL_DB_NAME = 'db_name1'
MYSQL_CHARSET = 'utf8mb4'
MYSQL_COLLATE = 'utf8mb4_unicode_520_ci'

sql = "CREATE DATABASE `%s` CHARACTER SET %s COLLATE %s"
cursor.execute(sql, (MYSQL_DB_NAME, MYSQL_CHARSET, MYSQL_COLLATE))
result = cursor.fetchone()


Да, я могу сделать вставку, к примеру, через f-strings, но мне нужен именно вариант через аргументы метода execute.
  • Вопрос задан
  • 72 просмотра
Решения вопроса 1
ipatiev
@ipatiev
Потомок старинного рода Ипатьевых-Колотитьевых
Никак.
Собирать запрос через f-word и выполнять без параметров.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы