【发布时间】:2018-10-16 07:34:09
【问题描述】:
我有以下 python 代码在 sqlite3 数据库中创建临时表。我已经通过在“DB Browser Sqlite”中运行代码测试了 sql 代码工作正常。但是,由于某种原因,python 代码没有成功创建临时表。代码有什么问题?
我正在使用 python v3.6
import sqlite3
db_pathname = "db.sqlite3"
sqlite_conn = sqlite3.connect(db_pathname)
sqlite_cur = sqlite_conn.cursor()
sqlite_cur.execute('''
CREATE TEMPORARY TABLE latest_info AS
SELECT * from infos t
WHERE
t.date_p =
(SELECT MAX(date_p) from infos t1
WHERE t1.info_id = t.info_id
)
'''
)
sqlite_conn.commit()
sqlite_conn.close()
【问题讨论】:
-
如何测试表是否创建成功?关闭连接后不会持久化临时表...
-
我用的是
DB Browser for SQLite这个软件。我复制并粘贴了 SQL 代码并在这个软件中运行它。我可以看到临时表创建成功。我不知道关闭连接后临时表会消失。如何让临时表持久化? -
你创建一个普通的表?
CREATE TABLE latest_info ...? -
临时表仅用于会话,因此您可以例如进行连接。正如@Torxed 所说,关闭会话的那一刻,表格就会被删除。
标签: python python-3.x sqlite temp-tables