草庐IT

python - mysqldb接口(interface)错误

我对mysqldb(python的mysql模块)有一个非常奇怪的问题。我有一个文件,其中包含用于在表中插入记录的查询。如果我从文件中调用函数,它工作得很好;但是当试图从另一个文件调用其中一个函数时,它会抛出一个_mysql_exception.InterfaceError:(0,'')我真的不明白我在这里做错了什么..我从buildDB.py调用函数:importcreatecreate.newFormat("HD",0,0,0)函数newFormat(..)在create.py中(导入):fromDatabaseimportDatabasedb=Database()defnewFo

Python MySQLdb WHERE SQL LIKE

我最近开始学习用于网络目的的Python和MySQL,但遇到了以下问题:我想从mysql数据库中提取一条包含我在参数部分输入的任何文本的记录,但是我在进行查询时遇到了以下问题:traceback(mostrecentcalllast):File"/Users/Strielok/Desktop/test.py",line13,inc.execute("SELECT*FROMdataWHEREparamsLIKE('%s%')LIMIT1"%(param))TypeError:notenoughargumentsforformatstring这是我的代码:importMySQLdbdb=M

Python、MySQLdb 和转义表名?

我可能遗漏了一些明显的东西,但我无法弄清楚我的代码与我在MySQLdb在线文档中看到的各种示例有何不同。我是Python编程的新手,对Perl比较有经验。我想做的是尽早养成某些良好的习惯(比如在perl中我总是从“使用严格;使用警告”开始),所以我试图确保我在一个独立的文件中创建可重用的函数(funct.py)以节省我以后的时间。我有从表中选择随机行的函数:defreturnRandom(conn,countcol,table,field):cursor=conn.cursor()cursor.execute('SELECTMAX(%s)FROM%s',(countcol,table)

python - MySQLdb 存储过程输出参数不起作用

我有一个托管在GoogleCloudSQL上的数据库,以及一个用于查询它的python脚本。我正在尝试调用具有输出参数的存储过程。SP调用成功,但是Out参数的值好像没有返回到我的python代码中。例如,这里是取自here的例子:乘法存储过程的定义:CREATEPROCEDUREmultiply(INpFac1INT,INpFac2INT,OUTpProdINT)BEGINSETpProd:=pFac1*pFac2;END如果我像这样从命令行调用SP:CALLmultiply(5,5,@Result)SELECT@Result我正确地得到了结果:+---------+|@Result

Python MysqlDB 使用 cursor.rowcount 和 SSDictCursor 返回错误计数

我有以下代码cur=db.cursor(cursors.SSDictCursor)cur.execute("SELECT*FROMlarge_table")result_count=cur.rowcountprintresult_count这会打印出数字18446744073709551615,这显然是错误的。如果我删除cursors.SSDictCursor,则会显示正确的数字。谁能告诉我如何在保留SSDictCursor的同时获取返回的记录数? 最佳答案 要获取SSDictCursor或SSCursor返回的记录数,您唯一的选择

python - MySQLdb初始连接超时

我在python中使用MySQLdb连接到远程数据库并执行查询。到目前为止,一切都很好。但是,由于多种原因,指定的IP地址可能根本没有MySQL服务器(或实际上没有任何服务器)。在这些情况下,此时MySQLdb无限期挂起。这并不理想,我更希望能够设置一个超时时间,如果超过该超时时间,我可以提出异常并继续我的生活。有没有简单的方法可以做到这一点? 最佳答案 您可以将connect_timeout参数传递给MySQLdb.connect函数。引自docs:connect_timeoutAbortifconnectisnotcomplet

Python MySQLdb 空选择查询虽然手动查询执行交付结果

我已经编写了一个持续轮询mysql数据库的python守护程序。当我在查询之间连续连接并重新连接到数据库时,它工作正常,如下所示:defconnect(self):self.connection=MySQLdb.connect(...)self.cursor=self.connection.cursor()returnself.cursordefdisconnect(self):...self.cursor.close()self.connection.close()defgetData();....sqlcmd="""SELECT...."""self.cursor.execute(

Python MySQLdb : Query parameters as a named dictionary

关闭。这个问题需要debuggingdetails.它目前不接受答案。编辑问题以包含desiredbehavior,aspecificproblemorerror,andtheshortestcodenecessarytoreproducetheproblem.这将有助于其他人回答问题。关闭3年前。Improvethisquestion我想将查询参数作为命名字典传递给MySQLdb的cursor.execute()方法,以便它们从转义SQL注入(inject)。你能解释一下为什么会出现KeyError吗:>>>c.execute('selectidfromuserswhereusern

Python、Brew 和 MySQLdb

我一直在通过brew安装运行python。我使用安装工具安装了mysql_pythonegg(根据mysql_python说明进行标准安装)并将其安装到/usr/local/lib/python2.7/site-packages/。处理的依赖项等然后我去运行python控制台。我可以导入其他东西(例如导入django;打印django.VERSION有效)但是当我导入MySQLdb时,出现以下错误:Traceback(mostrecentcalllast):File"",line1,inFile"/usr/local/Cellar/python/2.7.1/lib/python2.7/

Python 和 MySQLdb - 使用 DROP TABLE IF EXISTS 似乎会抛出异常

我得到了这个代码.......try:task_db.cursor.execute('DROPTABLEIFEXISTS`tasks`')print"Affected:%d"%task_db.cursor.rowcountexceptMySQLdb.Error,e:print"Errorocurred:%s"%e.args[0]printe如果任务表不存在,那么我会收到类似的警告create_database.py:11:Warning:Unknowntable'tasks'但如果该表确实存在,那么我将不会收到该警告。奇怪? 最佳答案