当我找不到任何错误时,我总是会遇到语法错误

2024-10-01 04:50:16 发布

您现在位置:Python中文网/ 问答频道 /正文

可能是个愚蠢的问题,但我只是想在数据库中创建一个名为“projects”的新表。我找不到任何语法错误,但每次我尝试运行它时,它都会说最后一行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
)
""")

Tags: text数据库notnullsqlite3maxprojectssyntax
1条回答
网友
1楼 · 发布于 2024-10-01 04:50:16

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
);

相关问题 更多 >