Добрый день
Имея незамысловатый код на 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
.