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

Python3.6使用sqlite3报错:no such table: Example 求助

解决sqlite3.OperationalError: no such table: Example的问题

嘿,这个问题很典型——你已经写了创建表的函数,但忘记调用它了!

你定义了create_table()函数来创建Example表,但在执行插入数据的enter_data()之前,从来没运行过这个函数,所以SQLite数据库里根本不存在这个表,自然会抛出"no such table"的错误。

修正后的完整代码

import sqlite3
conn = sqlite3.connect('tutorial.db')
c = conn.cursor()

def create_table():
    # 加上IF NOT EXISTS,避免重复创建表时触发错误
    c.execute("CREATE TABLE IF NOT EXISTS Example(Language VARCHAR, Version REAL, Skill TEXT)")

def enter_data():
    c.execute("INSERT INTO Example VALUES('Python', 2.7, 'Beginner')")

# 先创建表!
create_table()
enter_data()
# 别忘了提交事务,否则数据不会真正写入数据库
conn.commit()
conn.close()

几个关键注意点:

  • 必须先调用创建表的函数:在插入数据前,确保Example表已经被创建出来,所以要先执行create_table()
  • 提交事务:SQLite默认不会自动提交修改,插入数据后一定要调用conn.commit(),不然你的数据不会被保存到数据库文件里
  • 避免重复创建表的错误:给CREATE TABLE语句加上IF NOT EXISTS,这样即使你多次运行代码,也不会因为表已经存在而报错

这样修改后,你的代码就能正常插入数据啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 09:18:03