我正在通过本教程学习python中的sqlite3http://zetcode.com/db/sqlitepythontutorial/。我开始“插入数据”一章。我运行了这个代码:
import sqlite3 as lite
import sys
con = lite.connect('test.db')
with con:
cur = con.cursor()
cur.execute("CREATE TABLE Cars(Id INT, Name TEXT, Price INT)")
cur.execute("INSERT INTO Cars VALUES(1,'Audi',52642)")
cur.execute("INSERT INTO Cars VALUES(2,'Mercedes',57127)")
cur.execute("INSERT INTO Cars VALUES(3,'Skoda',9000)")
cur.execute("INSERT INTO Cars VALUES(4,'Volvo',29000)")
cur.execute("INSERT INTO Cars VALUES(5,'Bentley',350000)")
cur.execute("INSERT INTO Cars VALUES(6,'Citroen',21000)")
cur.execute("INSERT INTO Cars VALUES(7,'Hummer',41400)")
cur.execute("INSERT INTO Cars VALUES(8,'Volkswagen',21600)")
然后我在OS X终端中制作了这个:
^{pr2}$事情发生了:
Error: no such table: Cars
我不知道为什么。测试数据库剧本的方向是一样的。我一直在寻找这个问题,但我只找到了我不理解的解决方案。在
我最近遇到了这种情况,因为我还在学习python和sqlite。据我所知,在提交更改之前,对数据库所做的修改将保留在内存中。当不再需要访问数据库时,还需要关闭数据库。我不确定
with con:
方法是否会为您提交甚至关闭数据库。将这些行添加到脚本的末尾。在您可以看到这些命令正在python sqlite3 documentation page上的第二个代码简介中使用。在
相关问题 更多 >
编程相关推荐