我只是试图批量添加一些数据。
我首先连接然后遍历字典项,创建每个查询以更新zip_ids表,这是基于mysql的。以下是我这样做的方式:
connection = _mysql.connect(host="xxx",user = "user", passwd="123", db="mine")
for id, zip in id_zip.items():
query += """UPDATE zip_ids SET zip = %s id = %s;"""% (zip,id)
print query
try:
cur = connection.cursor()
connection.execute(query, multi=True)
connection.commit()
cur.close()
connection.close()
connection.disconnect()
except _mysql.connector.Error as err:
print 'issue in Execution of adding zip', str(e)
问题是我不断抛出异常:
Exception 'module' object has no attribute 'connector'
如何解决此异常?它的原因是什么?批量添加数据的代码是否正确?
答案 0 :(得分:1)
它告诉你_mysql
模块没有名为connector
的属性。
我通常使用ipython来学习我一无所知的模块。
In [1]: import _mysql
In [2]: _mysql.conn
然后我按Tab键查看自动完成的内容并获得
_mysql.connect _mysql.connection
_mysql.connection.
上的标签表示我_mysql.connection.error
存在。然后我做
In [4]: ?_mysql.connection.error
Type: method_descriptor
String Form:<method 'error' of '_mysql.connection' objects>
Docstring:
Returns the error message for the most recently invoked API function
that can succeed or fail. An empty string () is returned if no error
occurred.
至于添加批量数据,我认为你正在混合两个不同python模块的API。您使用的是_mysql
,但我认为您真正想要的是MySQLdb
:http://mysql-python.sourceforge.net/MySQLdb.html
希望这有帮助!