首页 > 解决方案 > 当我找不到任何错误时,我不断收到语法错误

问题描述

可能是一个愚蠢的问题,但我只是想在我的数据库中创建一个名为“项目”的新表。我找不到任何语法错误,但是每次我尝试运行它时,它都会说最后一行有语法错误sqlite3.OperationalError: near "MAX": syntax error。该表未创建,它在没有pjct_pic varbinary(MAX) not null. 应该创建该表,但每次我运行它时都会产生相同的错误。


connie = sqlite3.connect('eeg.db')
c = connie.cursor()



c.execute("""
CREATE TABLE IF NOT EXISTS projects(
id INTEGER PRIMARY KEY AUTOINCREMENT,
pjct_name TEXT,
pjct_nick TEXT,
pjct_time TEXT,
pjct_pic varbinary(MAX) not null
)
""")

标签: pythonsql

解决方案


VARBINARY(MAX)类型在 SQL Server 上可用,但在 SQLite 上不可用。在 SQLite 上,最接近的实际类型是BLOB. SQLite 中可能存在一个关联性varbinary,该关联性将映射到该关联性,但该关联性将是BLOB. 所以,我建议只使用这个 create 语句:

CREATE TABLE IF NOT EXISTS projects (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    pjct_name TEXT,
    pjct_nick TEXT,
    pjct_time TEXT,
    pjct_pic BLOB NOT NULL
);

推荐阅读