循环更新数据库
while里的第一次代码执行正常 到了第二次循环就会在 注释那行报错
为什么到第二次循环就报错了呢 查了一下百度是不是关于游标什么,怎么解决呢
谢谢各位
# -*- coding: utf-8 -*-
import hashlib,MySQLdb
conn = MySQLdb.connect('localhost','root','123456','test',charset='utf8')
cursor = conn.cursor()
query = "select count(*) as count from `shujuku` where `puid`=''"
cursor.execute(query)
get_data = cursor.fetchone();
total_data = int(get_data[0]);
print 'total:',total_data;
while(total_data >= 1):
print total_data;
query = '';
query = "select `uid` from `shujuku` where `puid`='' order by `id` asc limit 10"
#print query;
cursor.execute(query);#为什么第二次循环 在这里报错呢?
conn.commit();
list_data = cursor.fetchall();
query3 = '';
for i in list_data:
uid = str(i[0]);
nuid = int(uid) - 1000000;
nuid = str(nuid);
md5 = hashlib.md5(nuid).hexdigest();
#print(md5)
puid = md5[0:2]+'/'+md5[-2:]+'/'+md5[2:-2];
query3 = query3 +"update `shujuku` set `puid`='"+puid+"' where `uid`='"+uid+"';";
cursor.execute(query3);
#conn.commit();
total_data = total_data - 10;
print 'done';
cursor.close()
conn.close()
while里的第一次代码执行正常 到了第二次循环就会在 注释那行报错
为什么到第二次循环就报错了呢 查了一下百度是不是关于游标什么,怎么解决呢
谢谢各位
# -*- coding: utf-8 -*-
import hashlib,MySQLdb
conn = MySQLdb.connect('localhost','root','123456','test',charset='utf8')
cursor = conn.cursor()
query = "select count(*) as count from `shujuku` where `puid`=''"
cursor.execute(query)
get_data = cursor.fetchone();
total_data = int(get_data[0]);
print 'total:',total_data;
while(total_data >= 1):
print total_data;
query = '';
query = "select `uid` from `shujuku` where `puid`='' order by `id` asc limit 10"
#print query;
cursor.execute(query);#为什么第二次循环 在这里报错呢?
conn.commit();
list_data = cursor.fetchall();
query3 = '';
for i in list_data:
uid = str(i[0]);
nuid = int(uid) - 1000000;
nuid = str(nuid);
md5 = hashlib.md5(nuid).hexdigest();
#print(md5)
puid = md5[0:2]+'/'+md5[-2:]+'/'+md5[2:-2];
query3 = query3 +"update `shujuku` set `puid`='"+puid+"' where `uid`='"+uid+"';";
cursor.execute(query3);
#conn.commit();
total_data = total_data - 10;
print 'done';
cursor.close()
conn.close()