我正在用Python创建文本文件管理系统。我使用sqlite3创建了2个表,并在某一时刻比较了它们的列值。在这里,我收到一个错误,指出表2不存在(这是一条select语句)。我检查了多个问题的答案,他们说我必须将* ib文件复制到我的目录中,但找不到。我已经尝试了一切,但似乎没有任何效果。所有数据和python文件都存储在同一文件夹中。 任何帮助,将不胜感激,谢谢。
以下是每个人的代码(查克·诺里斯除外):
conn=Connection("User Data")
cur=conn.cursor()
cur.execute("CREATE TABLE if not exists U_Data (_UID INTEGER PRIMARY KEY AUTOINCREMENT, Fname varchar2 (15) NOT NULL, Sname varchar2 (15) NOT NULL, Uname varchar2 (15) UNIQUE, Password varchar2(15) NOT NULL);")
conn.commit()
fileconn=Connection("File Data")
filecur=fileconn.cursor()
filecur.execute("CREATE TABLE IF NOT EXISTS F_Data (_FID INTEGER PRIMARY KEY AUTOINCREMENT, UID INTEGER(1000000), FileName varchar2 (15), Date_ varchar2 (15))")
fileconn.commit()
cur.execute("CREATE TABLE if not exists U_Data (_UID INTEGER PRIMARY KEY AUTOINCREMENT, Fname varchar2 (15) NOT NULL, Sname varchar2 (15) NOT NULL, Uname varchar2 (15) UNIQUE, Password varchar2(15) NOT NULL);")
filecur.execute("CREATE TABLE IF NOT EXISTS F_Data (_FID INTEGER PRIMARY KEY AUTOINCREMENT, UID INTEGER(1000000), FileName varchar2 (15), Date_ varchar2 (15))")
cur.execute("insert into U_Data (Fname, Sname, Uname, Password) values (?, ?, ?, ?);", (fname, lname, uname, password))
filecur.execute("insert into F_Data (UID, FileName, Date_) values (?, ?, ?)", ( uid, filename, today))
filecur.execute("SELECT * FROM F_Data, U_Data where F_Data.UID=_UID.U_Data")
仅最后一条语句无效;数据正在插入和填充。我认为问题在于上一条语句中的filecur.execute()吗? U_Data的光标命名为cur。但是,如何使它们对他们两个都起作用?一个游标名称可以用于多个游标吗?
答案 0 :(得分:0)
正如@stovfl所评论的,只有两个表在同一连接中,它们才可以相关。