【原创】 python MySQLdb 异常总结

来源:互联网 发布:手机淘宝怎么定时上架 编辑:程序博客网 时间:2024/05/29 14:33
MySQLdb 常见错误
有时候需要链接,这种情况下切记不要用一个函数来return conn,否则会报超时。
例如:
    defget_conn():
       conn=Mysqldb.connect(
          host='localhost',
          user='root',
          passwd='123',
          port=3306,
          db='dataservice',
          charset='utf8'
          )
       conn.set_character_set("utf8")
       return conn
    conn =get_conn()
    cur =conn.cursor()
    exec =cur.execute("select * from tb_test")
    ...... 
这种写法可能可以用来查询,但是一般情况下增,删,改等都会报错的:
OperationalError: (1205, 'Lock waittimeout exceeded; try restarting transaction')
这是错误是个什么情况,什么锁啊之类的超时造成的。遇到这种情况,会直接导致一个问题,当你尝试去删除表中的所有数据的时候:
truncate table tb_test;
也会上报上述错误,解决办法是:
打开终端,重启mysql:"sudo server mysqlrestart",然后重新truncate就可以。
正确的写法应该是:
class MainClass(object):
    """docstring forMainClass"""
    def__init__(self):
       super(MainClass, self).__init__()
       conn=Mysqldb.connect(
          host='localhost',
          user='root',
          passwd='123',
          port=3306,
          db='dataservice',
          charset='utf8'
          )
       conn.set_character_set("utf8")
       self.conn = conn
......
然后在代码中直接引用self.conn即可。
    defupdate_status(self, id):
       cur=self.conn.cursor()
       a = cur.execute("update tb_test set status='%s'where id='%s'" % (id)
       self.conn.commit() #记得提价更改
       cur.close() #记得关闭游标,否则下次使用游标会报错的噢~~
       return a
结束。



ERROR 1267 (HY000): Illegal mix ofcollations (utf8_ unicode _ci,IMPLICIT) and (utf8_ general_ci,IMPLICIT) for operation '<='
这是今天遇到的一个问题,存储过程出来的Bug,自己的电脑上就木有问题,上了服务器就出问题了。我的mysql版本是5.5.35,服务器是5.5.34,开始以为是sql版本的问题,后来重新看了一下错误提示,跟数据库编码和存储过程编码有问题。
CREATE PROCEDURE `fs`(s_time varchar(10),e_time varchar(10)charset 'utf8')
... ...
数据库默认编码是general,而我存储过程是utf8(unicode),导致sql中的for循环有一个大于小于等于比较报错《mysql while do循环,时间分片》~~
CREATE PROCEDURE `fs`(s_timevarchar(10),e_time varchar(10))即可,有中文再加字符集就可以了,这个不需要加的~~
0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 队友送的太崩了打野应该怎么办 该商品不支持在当前地区销售怎么办 此商品不支持在当前地区销售怎么办 村淘商品在淘宝没展现怎么办 qq音乐不小心充了会员怎么办 古奇的包五金磨掉色了怎么办 淘宝购物津贴买的东西退款怎么办 淘宝买的东西质量太差怎么办 咸鱼上买的东西有问题怎么办 咸鱼买到的东西有问题怎么办 天猫超市买的东西有问题怎么办 满白天的宝宝睡觉总哭怎么办 京东退货显示在售后检测要怎么办 装修公司定金交了公司关门怎么办 背冷、腰泠、屁股冷、大腿冷怎么办 买家退款把卖家地址写错了怎么办 退款编号写错了提交了怎么办 京东购物收到货第二天搞活动怎么办 玩王者荣耀来电话断网怎么办 苹果7p玩王者荣耀卡怎么办 手机丢了隐私空间里面的照片怎么办 微信内存满了打不开了怎么办 u盘内存满了打不开了怎么办 清算组出的报告书无法清算怎么办 手机停机了收不到快递取件码怎么办 买东西货到了不小心确认收货怎么办 不小心用了蚂蚁花呗怎么办 q微店忘记密码怎么办微忘记密 在优酷买了开通会员不想续费怎么办 微店怎么卖吃的要认证怎么办 在天猫买东西遇到不讲理卖家怎么办 天猫退货收到退款了卖家拒绝怎么办 申请退款保证金不够的情况下怎么办 发奖品把钱骗走了应该怎么办? 淘宝东西没到自动确认了收货怎么办 淘宝买的东西收不到货怎么办 资料如实填了 怎么办不下来借款啊 如果淘宝店家跑了没收到货怎么办 淘宝店家退完款把货又发了怎么办 淘宝收到货有问题客服不回复怎么办 手机从美国寄回中国被海关扣怎么办