异常'模块没有属性连接器' - Python mysql

时间:2014-06-05 13:53:28

标签: python mysql

我只是试图批量添加一些数据。

我首先连接然后遍历字典项,创建每个查询以更新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'

如何解决此异常?它的原因是什么?批量添加数据的代码是否正确?

1 个答案:

答案 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,但我认为您真正想要的是MySQLdbhttp://mysql-python.sourceforge.net/MySQLdb.html

希望这有帮助!