目前我有以下代码:
c.execute("SELECT * FROM table")
for row in c.fetchall():
print row[0]
print row[1]
但是,我更改了表的结构,现在我必须更改索引值以表示此更改。有没有办法代替使用列名?
有关 sqlite3 模块,请参阅文档中的行对象。如果你使用sqlite3.Row
row_factory 你会得到一个比普通元组稍微强大的对象。我想它的开销略高,因此不是默认行为。
因此,建议在执行以下操作时始终使用明确的列名SELECT
:
c.execute("SELECT color, fluffiness FROM table")
for row in c.fetchall():
print row[0] # <-- is always guaranteed to be the color value
print row[1]