python mysql: 连接游标没有执行属性
python mysql: connection cursor has no execute attribute
在尝试一些 mysql 巫术时,弹出以下错误。我读
这里的其他问题和建议是使用游标进行连接,恕我直言,我已经完成了。那么这里可能出了什么问题?
#!/usr/bin/env python
import os
import sys
import MySQLdb as db
try:
import json
from json import JSONDecodeError
except ImportError:
import simplejson as json
from simplejson import JSONDecodeError
connections = {
'conn1': db.connect('nimmsag_a', 'aix_regread', 'cmdbuser', 'aix_registry'),
'conn2': db.connect('localhost', 'ansible', 'ansible', 'ansible_inv')
}
connections['conn1'].cursor.execute('SELECT * FROM TABLES;')
connections['conn2'].cursor.execute('SELECT * FROM TABLES;')
[conn.close() for key, conn in connections.items()]
root@lpgaixmgmtlx01:/root>./reg2inv.py
Traceback (most recent call last):
File "./reg2inv.py", line 18, in <module>
connections['conn1'].cursor.execute('SELECT * FROM TABLES;')
AttributeError: 'function' object has no attribute 'execute'
As documented - 并在追溯中的所有字母中拼写 - connection.cursor
是 returns 一个 Cursor
对象的函数。您必须先通过调用 connection.cursor()
、 获取游标,然后 执行您的查询:
c1 = connections['conn1'].cursor()
c1.execute('SELECT * FROM TABLES')
在尝试一些 mysql 巫术时,弹出以下错误。我读 这里的其他问题和建议是使用游标进行连接,恕我直言,我已经完成了。那么这里可能出了什么问题?
#!/usr/bin/env python
import os
import sys
import MySQLdb as db
try:
import json
from json import JSONDecodeError
except ImportError:
import simplejson as json
from simplejson import JSONDecodeError
connections = {
'conn1': db.connect('nimmsag_a', 'aix_regread', 'cmdbuser', 'aix_registry'),
'conn2': db.connect('localhost', 'ansible', 'ansible', 'ansible_inv')
}
connections['conn1'].cursor.execute('SELECT * FROM TABLES;')
connections['conn2'].cursor.execute('SELECT * FROM TABLES;')
[conn.close() for key, conn in connections.items()]
root@lpgaixmgmtlx01:/root>./reg2inv.py
Traceback (most recent call last):
File "./reg2inv.py", line 18, in <module>
connections['conn1'].cursor.execute('SELECT * FROM TABLES;')
AttributeError: 'function' object has no attribute 'execute'
As documented - 并在追溯中的所有字母中拼写 - connection.cursor
是 returns 一个 Cursor
对象的函数。您必须先通过调用 connection.cursor()
、 获取游标,然后 执行您的查询:
c1 = connections['conn1'].cursor()
c1.execute('SELECT * FROM TABLES')