【发布时间】:2010-12-21 07:51:29
【问题描述】:
我正在试用 Stackless Python 的 Concurrence 框架。它包含一个 MySQL 驱动程序,当运行一些以前使用 MySQLdb 运行良好的代码时,它会失败。
我在做什么:
使用带有用户名/密码/端口/数据库的 dbapi 连接到 MySQL 数据库。
正在执行
SELECT * FROM INFORMATION_SCHEMA.COLUMNS
这会失败并显示消息:
Table 'mydatabase.columns' doesn't exist
“mydatabase”是我在步骤 1 中指定的数据库。
在发出“USE mydatabase”后在 MySQL 控制台中执行相同的查询时,它可以完美运行。
检查网络通信会产生如下结果:
>>>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”查询。
【问题讨论】:
标签: python mysql python-stackless python-db-api