Unknown error 1146 python调用execute报错的一种案例总结

本文通过一个具体的代码案例,分析了在Python中调用MySQLdb执行SQL时遇到'Unknown error 1146'错误的一种可能原因——值传参和对象传参的区别。当使用值传参时,由于函数内部创建了新的对象,导致在执行SQL时出现错误,而对象传参则能避免此问题。对于1146错误,可能还与其他因素如数据库大小写敏感性、表创建时的注释等有关。
摘要由CSDN通过智能技术生成

一、关键代码如下:

class ClMysqlOpt(object):

    def __init__(self,host=None,user=None,passwd=None,db=None):

        pass

    def CursorExecute(self, queryStr, idVal):

        print "idVal:", idval,"; query str:",queryStr,"; queryStr id:",id(queryStr)

        return self.CursonNew.execute(queryStr) #内部同样加入print "query str:",query,"; query id:",id(query)

 

if __name__=='__main__':

    clMysql = ClMysqlOpt()

    queryStr = 'select * from test;'

    print "select * from test; id:",id('select * from test;'), "; queryStr id: ", id(queryStr)

    ... ...

    if True:

        clMysql.CursorExecute(queryStr) ##************  1

    else:

        clMysql.CursorExecute('select * from test;') ##************2

    ##游标其他操作

二、执行语句*****

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值