【发布时间】:2016-11-21 05:50:57
【问题描述】:
我正在通过本教程http://zetcode.com/db/sqlitepythontutorial/ 在 python 中学习 sqlite3。我开始了“插入数据”一章。我运行了这段代码:
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 终端中做了这个:
sqlite> .mode column
sqlite> .headers on
sqlite> SELECT * FROM Cars;
这发生了:
Error: no such table: Cars
我不知道为什么。 Test.db 和脚本方向一致。我一直在寻找这个问题,我只找到了我不明白的解决方案。
【问题讨论】:
-
为我工作。尝试在
CREATE TABLE之前添加cur.execute("DROP TABLE IF EXISTS Cars") -
确保使用
sqlite3 test.db启动shell,或者如果您只是运行sqlite3,则首先使用.open test.db。 -
现在终端显示“...>” :(
-
我发现它在两个文件夹中创建了 test.db:我的主文件夹和 python 脚本在哪里
标签: python database python-2.7 sqlite