我正在内存中运行SQLite数据库,并试图使用以下命令删除表。SQLite“Drop table”错误消息:“SQL逻辑错误或缺少数据库”
DROP TABLE 'testing' ;
但是,当我执行SQL语句,我得到这个错误
SQL logic error or missing database
之前,我跑了“删除表”查询我检查,以确保该表在数据库中存在与此查询。所以我很确定表存在,并且我有一个到数据库的连接。
SELECT count(*) FROM sqlite_master WHERE type='table' and name='testing';
该数据库中存储从文件数据库加载后,我尝试删除该表的数据库从内存中保存到文件系统。然后,我可以使用第三方SQLite实用程序查看SQLite文件并检查“测试”是否存在。使用相同的第三方SQLite实用程序,我能够运行“Drop TABLE”SQL语句而不会出错。
我能够创建/更新表没有任何问题。
我的问题:
- 是否有内存数据库和删除表时SQLite中一个文件数据库之间的差异?
- 是否有一种方法可以禁用在SQLite中删除表格的功能,我可能会以某种方式重复打开该表格?
编辑:它似乎与锁定表有关。仍在调查。
糟糕,实际版本中没有引号。我将它们添加到了问题中,以使事情变得清晰,但我想这只会让事情变得更加复杂。编辑问题并删除引号。 – 2011-03-30 18:58:16