Я пытаюсь написать сценарий с использованием pythong и библиотеки mysql-коннекторов. Сценарий должен соединиться с сервером MySQL сделать «SHOW DATABASES LIKE„pdns_%“, а затем, используя результаты, возвращенные запросом использовать каждую базу данных, а затем запустить другой запрос, используя эту базу данных.Python, используя базы данных списка соединителей mysql LIKE, а затем использовать эти базы данных в порядке и выполнить запрос
Вот код
import datetime
import mysql.connector
from mysql.connector import errorcode
cnx = mysql.connector.connect (user='user', password='thepassword',
host='mysql.server.com',buffered=True)
cursor = cnx.cursor()
query = ("show databases like 'pdns_%'")
cursor.execute(query)
databases = query
for (databases) in cursor:
cursor.execute("USE %s",(databases[0],))
hitcounts = ("SELECT Monthname(hitdatetime) AS 'Month', Count(hitdatetime) AS 'Hits' WHERE hitdatetime >= Date_add(Last_day(Date_sub(Curdate(), interval 4 month)), interval 1 day) AND hitdatetime < Date_add(Last_day(Date_sub(Curdate(), interval 1 month)), interval 1 day) GROUP BY Monthname(hitdatetime) ORDER BY Month(hitdatetime)")
cursor.execute(hitcounts)
print(hitcounts)
cursor.close()
cnx.close()
при выполнении сценария он останавливается со следующим error'd выходом
Traceback (most recent call last):
File "./mysql-test.py", line 18, in <module>
cursor.execute("USE %s",(databases[0],))
File "/usr/lib/python2.6/site-packages/mysql/connector/cursor.py", line 491, in execute
self._handle_result(self._connection.cmd_query(stmt))
File "/usr/lib/python2.6/site-packages/mysql/connector/connection.py", line 635, in cmd_query
statement))
File "/usr/lib/python2.6/site-packages/mysql/connector/connection.py", line 553, in _handle_result
raise errors.get_exception(packet)
mysql.connector.errors.ProgrammingError: 1064 (42000): 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 ''pdns_382'' at line 1
Основываясь на ошибки, я угадывание есть проблема с тем, как его делать имя datbase из первого запроса. Любой указатели в правильном направлении были бы очень hel как я очень начинающий. Большое спасибо.