添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

如何做一个for循环来更新sqlite中所有带数字的列的行?

0 人关注

我想做一个'for'循环函数,当删除或添加新行时,将减少或增加该列中的数字。基本上,我想为我的数据库做一个 "Sl.no "列,它将随着行的增加或删除而自我修正。

import sqlite3
conn = sqlite3.connect('time.db')
cur = conn.cursor()
cur.execute(''' CREATE TABLE IF NOT EXISTS time(id INTEGER PRIMARY KEY, sl real)''')
conn.commit()
for sl in range(100):
    cur.execute("INSERT INTO time VALUES(NULL, :sl)",{'sl':sl})
conn.commit()
cur.execute("SELECT sl FROM time")
fulllist = cur.fetchall()
print(fulllist)
print("next"'\n')
print(len(fulllist))
print("next"'\n')
cmy=[]
for dx in fulllist:
    for cx in dx:
        cmy.append(cx)
print(cmy)
print( str(len(cmy)) +'\n' +'next'+'\n')
for slx in range(1,len(cmy)+1):
    cur.execute('''UPDATE time SET sl=:sl WHERE id=:id ''',{'sl':slx, 'id':id})
    conn.commit()
    print(slx)
print("slno_setting"+'\n')