MySQLdb TypeError: %d format: a number is required

required, not str问题解决

mactanxin 2012-03-23 16:59:46
遇到问题: TypeError: %d format: a number is required, not str
解决办法: 传给sql的变量写对格式就行了. sql里不需要对对应的变量写%d,只写%s就可以了

遇到问题: (1146, "Table 'database.'table_name'' doesn't exist")
解决办法: 不用cursur.execute(sql,param)方式,改成拼串方式写. str写成 column = '%s' , int写成 column = %s. 所有的int不需要加单引号. str需要单引号

sql = "insert into loganalyzer(timespan, id, action, action_num)values(%s,%s,%s,%s)"
for anchor in anchorLogList:
    action = anchor["actions"]
    nowTime = time.strftime("%Y-%m-%d %H:%M:%S",time.localtime(time.time()))

    data=(nowTime, anchor["userId"], "playTime", action["playTime"])
    bufferData.append(data)
    number=number+1
    if number>100:
        cursor.executemany(sql,bufferData)
        db.commit()
        number=0
        bufferData=[]
if number > 0:
    cursor.executemany(sql,bufferData)
    db.commit()






转载于:https://my.oschina.net/u/2450896/blog/636019

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值