我正在学习 python web programming ,而我正在研究数据库管理。我为数据库写了两个python文件;一个用于创建一个表,另一个用于插入数据。
似乎两个文件正确运行没有任何错误。但是在创建表格并向其插入数据后,当我想选择表格以查看 SQLite 中的结果时,我将面临错误 :Error: no such table: film
。 电影是我创建的表格。
import sqlite3 as db
conn = db.connect('test.db')
cursor = conn.cursor()
cursor.execute('create table film(title text, director text, year text)')
print "table created"
import sqlite3 as db
conn = db.connect('test.db')
cursor = conn.cursor()
cursor.execute('insert into film values("God Father","Francis Ford Copola", "1972")')
cursor.execute('insert into film values("The Shawshank Redemption","Frank Darabont", "1994")')
conn.close()
print "data inserted"
sqlite> select * from film;
Error: no such table: film
是什么原因?
答案 0 :(得分:0)
感谢所有朋友为我提供帮助解决方案,特别感谢 bernie 和 Murphy 。首先,我犯了一个愚蠢的错误:每次我在bash上调用 sqlite3 时,我都是这样做的:sqlite3 test.db
这是在test.db
中创建/sqlite3/
文件。所以我尝试sqlite3 /path/to/test.db
并且它有效。然后我应该.open test.db
看看结果。非常感谢你。问题解决了:))
答案 1 :(得分:0)
如果您使用文件名启动CLI,SQLite将只创建一个DB文件(如果它不存在),这将导致您看到的症状(数据库中没有内容)。
.databases
说什么?归结为:检查您是否真的,真的已在CLI中附加了正确的DB文件。
(将我的评论的相关部分编译成答案以提供可接受的答案。)