我想向db
文件添加一个新列,并以2为间隔填充它的值。在这里我写了一些代码。。。在
import sqlite3
WorkingFile = "C:\\test.db"
con = sqlite3.connect(WorkingFile)
cur = con.cursor()
cur.execute("ALTER table MyTable add column 'WorkingID' 'long'") # Add a column "WorkingID"
rows = cur.fetchall()
iCount = 0
for row in rows:
iCount = iCount + 2
print iCount
cur.execute("UPDATE MyTable SET WorkingID = ?" , (iCount,)) # Here I have question: How to write the WHERE command?
con.commit()
cur.close()
上面的代码为我提供了一个具有相同值的新列。像这样:
^{pr2}$但我想要这样的结果:
WorkingID
2
4
6
8
10
...
我对代码的问题是,我不知道如何在UPDATE
下编写WHERE
代码。你能帮帮我吗?谢谢。在
SQL引擎无法区分行之间的差异。在
您应该添加一个autoincrement或ROWID列,以便将其设置为ID
我不知道您的表的结构,因为您不是在这里创建它而是修改它。在
如果您碰巧创建了它,请创建一个新的
INTEGER PRIMARY KEY
列,然后可以像这样使用WHERE
:如果不能将ID添加到表中,则可以使用一种非常奇怪的方法。所以。。 在循环之前进行查询
之后呢
^{pr2}$这不是一个好办法,但应该行得通。在
如果您的表有一些唯一的ID,请获取它们的排序列表(它们的实际值无关紧要,只关心它们的顺序):
如果没有这样的列,请改用
rowid
。在相关问题 更多 >
编程相关推荐