You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在PyCharm中用Python操作SQLite数据库时持续触发DatabaseError错误

解决sqlite3.DatabaseError: file is not a database错误

1. 修正SQL语法错误

你的CREATE TABLE语句存在两处语法问题:

  • [IF NOT EXISTS]不需要方括号,正确写法是IF NOT EXISTS
  • 列定义重复标识:column_1 id INTEGER PRIMARY KEY错误地同时写了列名和冗余标识,根据命名逻辑修正后的语句如下:
import sqlite3

conn = sqlite3.connect('database.sqlite')
cursor = conn.cursor()

cursor.execute('''
CREATE TABLE IF NOT EXISTS user_prompts (
id INTEGER PRIMARY KEY,
gender TEXT,
name TEXT
)
''')

conn.commit()
conn.close()

2. 删除损坏的数据库文件

之前错误的SQL执行可能生成了损坏的database.sqlite文件,该文件已不属于合法SQLite数据库,导致后续连接报错。操作步骤:

  • 找到项目目录下的database.sqlite文件并删除
  • 重新运行修正后的代码,sqlite3会自动创建全新的合法数据库文件

3. 验证数据库合法性

若重新创建后仍报错,可通过以下方式验证:

  • 检查生成的database.sqlite文件大小,正常初始SQLite数据库文件约几KB,而非0字节或极小文件
  • 使用PyCharm内置的Database工具连接该文件,确认能正常识别数据库结构

内容的提问来源于stack exchange,提问作者Mark account

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 15:42:01