您的位置:首页 > 编程语言 > Python开发

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

2017-10-17 19:36 966 查看
下午想把网页爬取的数据存进数据库,捣鼓了半天一直报错。

错误信息是: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))

也是可行的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐