Я пробую среду Concurrence для Stackless Python. Он включает в себя драйвер MySQL, и при запуске некоторого кода, который ранее нормально работал с MySQLdb, происходит сбой.
Что я делаю:
Подключение к базе данных MySQL с использованием dbapi с именем пользователя/паролем/портом/базой данных.
Выполнение
SELECT * FROM INFORMATION_SCHEMA.COLUMNS
Это не удается с сообщением:
Table 'mydatabase.columns' doesn't exist
«mydatabase» — это база данных, которую я указал на шаге 1.
При выполнении того же запроса в консоли MySQL после выдачи «USE mydatabase» он работает отлично.
Проверка сетевого соединения дает что-то вроде этого:
>>>myusername
>>>scrambled password
>>>mydatabase
>>>CMD 3 SET AUTOCOMMIT = 0
<<<0
>>>CMD 3 SELECT * FROM INFORMATION_SCHEMA.COLUMNS
<<<255
<<<Table 'mydatabase.columns' doesn't exist
Это проблема с драйвером (поскольку он работает в MySQLdb)? Или я не должен иметь возможность запрашивать INFORMATION_SCHEMA таким образом?
Если я отправлю конкретную «USE INFORMATION_SCHEMA» перед попыткой ее запроса, я получу ожидаемый результат. Но я не хочу засорять свой код запросами «USE».