python中向mysql数据库插入变量
list=[].........................sql="selectstudent.idfromstudent"cursor.execute(sql)d...
list=[]
.........................
sql="select student.id from student"
cursor.execute(sql)
data = cursor.fetchone()
while data!=None:
...............
sql="insert censor vaules("+data[0]+","+list[i]+",'开机的流程')"
...............
最后一句报错TypeError: cannot concatenate(链接) 'str' and 'long' objects
如何如何改才能正确打印出sql 展开
.........................
sql="select student.id from student"
cursor.execute(sql)
data = cursor.fetchone()
while data!=None:
...............
sql="insert censor vaules("+data[0]+","+list[i]+",'开机的流程')"
...............
最后一句报错TypeError: cannot concatenate(链接) 'str' and 'long' objects
如何如何改才能正确打印出sql 展开
4个回答
2017-07-27
展开全部
从错误提示来看是 str 和 object 无法拼接,这是表象错误,实际上,你根本用不着拼接 str 和 object ,你这句 insert 看起来是有问题的,写的很乱。首先你要理清 censor 这个表有几个字段,是什么类型,然后再在这里构造 insert ,这里的双引号是给 python 解析的,双引号中的 values 后的各值还要加单引号,那是给 mysql 看的,要用清醒的头脑认识到这点你才能拼接好。
改成这样试试,注意加了很多单引号:
sql="insert censor vaules('"+data[0]+"','"+list[i]+"','开机的流程')"
改成这样试试,注意加了很多单引号:
sql="insert censor vaules('"+data[0]+"','"+list[i]+"','开机的流程')"
展开全部
sql="insert censor vaules("+data[0]+","+list[i]+",'开机的流程')"
list[i]是个长整型数,不能直接和字符串连接。用str(list[i])先转换它为字符串。
list[i]是个长整型数,不能直接和字符串连接。用str(list[i])先转换它为字符串。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我想问一下 你的data的数据类型是什么
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
看着没逻辑错误。最后一个insert是不是少了into..
更多追问追答
追问
不是这个问题,主要是我在用print打印sql的时候变量没有被解析出来
追答
你得用cursor执行了sql负值给变量再打印变量啊,肯定不能直接打印sql
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询