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

使用Python创建SQLite表时提示<附近存在语法错误如何解决?

报错核心原因

你遇到的语法错误是两个SQL语法不规范的问题共同导致的:

  • 错误1:非法使用占位符符号<>

尖括号<>仅在SQL相关文档里用于标注需要替换的占位内容,不属于可执行SQL语法的一部分,你代码中的<New>会被SQL解析器识别为非法字符,直接触发error near "<": syntax error报错。
如果你要将表名设为New,直接写表名即可;如果表名是SQL关键字、包含特殊字符或空格,可以用双引号/方括号/反引号包裹,例如"New"、[New]、`New`。

  • 错误2:CREATE TABLE语句缺少必填的列定义

SQLite 要求CREATE TABLE语句必须在表名后补充括号包裹的列定义,至少包含一个列名和对应的数据类型,仅写表名也会触发后续语法错误。

修复后的代码示例

下面是创建包含基础字段的New表的修正代码:

import sqlite3

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

result = None

try:
    cursor.executescript("""CREATE TABLE New (
        id INTEGER PRIMARY KEY AUTOINCREMENT,
        content TEXT
    );""")
    # CREATE TABLE为DDL语句,无返回结果,无需调用fetchall
except sqlite3.DatabaseError as err:
    print("Error: ", err)
else:
    conn.commit()

print(result)
conn.close()
补充说明
  • CREATE TABLE属于数据定义类语句,执行后没有查询结果返回,原代码中的fetchall()调用没有实际意义,可直接删除。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 05:27:04