我有一个本地sqlite服务器。SQL数据库只包含一个名为flights
的表。这个表flights
只包含两列:dt
和flight
。它是这样创建的:CREATE TABLE IF NOT EXISTS flight (dt INT NOT NULL, flight INT PRIMARY KEY);
。dt
表示日期时间。此列dt
保存每个航班的时间和日期戳。flight
列是每个航班的自动增量id。你知道吗
我现在需要创建航班并记录ID。但我认为我下面的方法非常愚蠢。一定有比这更好的办法。下面的代码不起作用,从而使我的尝试更加愚蠢。它返回当前打印的(None,)
。你知道吗
为了进一步澄清,我需要做的是添加一个航班与提供的时间戳。然后找到我刚创建的航班的id。应该很简单。你知道吗
t = (int(time.time()),)
conn, c = AT.startSQLdb()
c.execute("INSERT INTO flight VALUES (?,NULL);",t)
c.execute("SELECT flight FROM flight WHERE dt=?;",t)
print c.fetchone()
conn.commit()
顺便说一下,AT.startSQLdb()
只是一个返回元组(sql connection, sql cursor)
的方法。我只是把它作为一个函数来保持所有线程的启动功能相同。你知道吗
您可以使用以下SQL选择最后一个自动分配的id:
顺便说一句:你提到线程,SQLite不适合并发访问,所以要小心多线程。你知道吗
相关问题 更多 >
编程相关推荐