Python 从sqlite3检索时间戳后大小为0且包含2个元素的列表

Python 从sqlite3检索时间戳后大小为0且包含2个元素的列表,python,twitter,sqlite,scripting,Python,Twitter,Sqlite,Scripting,此代码的结果如下所示: con = sqlite3.connect(db_path,isolation_level=None, detect_types=sqlite3.PARSE_DECLTYPES) cur.execute('SELECT TIMESTAMPSTART,COUNT from COUNTING order by ROWID DESC limit 1;') print(cur.fetchall()) last_d=cur.fetchall() print(type(last_d

此代码的结果如下所示:

con = sqlite3.connect(db_path,isolation_level=None, detect_types=sqlite3.PARSE_DECLTYPES)

cur.execute('SELECT TIMESTAMPSTART,COUNT from COUNTING order by ROWID DESC limit 1;')
print(cur.fetchall())
last_d=cur.fetchall()
print(type(last_d))
print(len(last_d))
print(last_d[0])

那么为什么它说列表的大小是0,尽管我打印它时它有2个元素?我只是想从数据库中检索我的时间戳,这是因为您没有返回任何结果。请注意下面代码的作用。你有:

CREATE TABLE COUNTING(
ID INTEGER PRIMARY KEY AUTOINCREMENT,
COUNT INT NOT NULL,
KEYWORD TEXT NOT NULL,
TIMESTAMPSTART TIMESTAMP NOT NULL,
TYPE TEXT NOT NULL
);
print语句获取所有行,不留下任何行供您实际设置最后一个变量。根据,当没有行可用时,将返回空列表。print函数将使用所有行,而实际变量不需要存储任何行,因此它返回长度为0的原因。删除print语句,看看会发生什么

CREATE TABLE COUNTING(
ID INTEGER PRIMARY KEY AUTOINCREMENT,
COUNT INT NOT NULL,
KEYWORD TEXT NOT NULL,
TIMESTAMPSTART TIMESTAMP NOT NULL,
TYPE TEXT NOT NULL
);
print(cur.fetchall())
last_d=cur.fetchall()