Python插入数据到mysql:1054, "Unknown column 'CNITSEC2014SRV' in 'field list'"

下午想把网页爬取的数据存进数据库,捣鼓了半天一直报错。


错误信息是:1054, "Unknown column 'CNITSEC2014SRV' in 'field list'"
Python代码是:

sql = "insert into citsec(`num`, `beginDate`, `endDate`, `org`, `grade`) values (%s,%s,%s,%s,%s)"
data = (tNumDet, tDateDet, tEndDateDet, tOrgDet, tLavelDet)
cur.execute(sql % data)
找了很久错,测试了各个变量也都是str类型,不懂为什么就是一直插入不了数据,最后发现sql语句的语法似乎规定就是必须有引号将值包起来,于是更改了代码:

data = ("'"+tNumDet+"'", "'"+tDateDet+"'", "'"+tEndDateDet+"'", "'"+tOrgDet+"'", "'"+tLavelDet+"'")
这样在执行程序就可以了。


之后百度python怎么解析引号内的变量时,发现了有个repr()函数,可以将转换的字符串带有引号,因此重新修改语句:

data = (repr(tNumDet), repr(tDateDet), repr(tEndDateDet), repr(tOrgDet), repr(tLavelDet))
也是可行的。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值