Python3使用sqlite3连接已有数据库却变成新建数据库

2013-10-08 17:10:14 +08:00
 phyng
路径D:/dev/basechem.db已经存在正确的数据库,
代码:
import sqlite3
conn = sqlite3.connect('D:/dev/basechem.db')
c = conn.cursor()
c.execute('''SELECT * FROM basechem LIMIT 0,10''')
……
运行报错:
Traceback (most recent call last):
File "D:\dev\text.py", line 4, in <module>
c.execute('''SELECT * FROM basechem LIMIT 0,10''')
sqlite3.OperationalError: no such table: basechem

打开D:/dev震惊的发现有两个一样文件名的basechem.db,其中一个0B,由此判断在sqlite3.connect时应该是创建了一个新的数据库,可是那个路径明明已经有一个同名数据库了啊。
怀疑是Python3在Windows平台下的兼容性问题?
4226 次点击
所在节点    Python
5 条回复
loading
2013-10-08 17:25:22 +08:00
两个同名文件是不可能的,文件系统不允许的,看下是不是你的为.db3

我用py2.7连sqlite很正常
phyng
2013-10-08 17:39:18 +08:00
@loading 感谢回复。我又一遍检查发现确实是文件名有细微差别(basechem和bacechem),我现在面壁去。
Golevka
2013-10-08 19:50:47 +08:00
啊哈哈哈哈哈哈哈哈哈哈
davidli
2013-10-09 17:47:55 +08:00
我想知道这个bace是怎么实现的。。
phyng
2013-10-10 06:48:20 +08:00
@davidli 呃,你是问我怎么出错的?生成数据库的时候拼错了打成了bacechem.db,然后连接数据库我又去连接正确的basechem.db。。。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/84883

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX