【问题标题】:Unfindable SQLite Syntax Error无法找到的 SQLite 语法错误
【发布时间】:2022-12-24 17:40:11
【问题描述】:

我正在尝试创建数据库的语句,在 10 个实体没有任何问题后我遇到了这个错误

错误:第 83 行附近:“事务”附近:语法错误

第一行是第 83 行,它是创建表的上下文

CREATE TABLE Transaction (
TransactionID INTEGER,
AccountID INTEGER REFERENCES User (AccountID),
ItemID INTEGER REFERENCES Item (ItemID),
Method STRING,
Price INTEGER,
TransactionDate DATE,
PRIMARY KEY (TransactionID)
);

现在我似乎找不到问题所在,并且无法通过手动再次编写相同的内容来解决使用错误空间的 ASCII 内容的建议。

我什至没有时间检查我的外键的完整性,而且它不起作用。希望有人可以提供一些关于我所缺少的东西的见解。

【问题讨论】:

  • Transaction 可能是保留字。看这里——sqlite.org/lang_keywords.html
  • Transaction 不是保留字吗?尝试不同的表名
  • ^^ 它预订的。双引号或选择不同的名称。
  • 非常感谢大家!我会在帖子中添加答案。

标签: sql sqlite


【解决方案1】:

Transaction 是 SQLite 中的保留名称之一。有关完整列表,请参阅here.

解决这个问题的方法是:

  • 将表名称更改为非保留字。

要么

  • 使用these 4 个列出的引号之一引用保留名称
    • '关键字'
    • “关键词”
    • [关键词]
    • `关键字`

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多