【问题标题】:LibreOffice Error "1: Unexpected token: UNQUE in statement"LibreOffice 错误“1:意外的令牌:语句中的 UNQUE”
【发布时间】:2015-07-23 14:26:46
【问题描述】:

我运行了这个 SQL 命令

CREATE TABLE TEST(
    KEY char(10) UNIQUE NOT NULL,

    PRIMARY KEY(KEY)
);

它给了我这个错误:

2: Unexpected token: UNIQUE in statement [CREATE TABLE TEST(
KEY char(10) UNIQUE]

我只是想从 SQL 命令创建一个简单的表。 这是我得到的错误,这似乎很奇怪,因为这将在 MS 访问时完美运行。

无论如何要解决这个问题?

//编辑

由于“Key”是SQL中的限制词,我又试了一次。

CREATE TABLE TEST(
    MLP char(10) UNIQUE NOT NULL,

    PRIMARY KEY(MLP)
);

不过好像又坏了。

 5: Unexpected token: UNIQUE in statement [CREATE TABLE TEST(
MLP char(10) UNIQUE]

【问题讨论】:

    标签: libreoffice libreoffice-base


    【解决方案1】:

    对此我不确定,但请尝试删除“唯一”参数。因为如果您将 MLP 定义为键,则意味着它是唯一的,但 SQL 将“KEY”和“UNIQUE”视为不兼容。

    【讨论】:

    • 这行得通,但我想知道为什么它会在 MS Access 上完美运行。
    【解决方案2】:

    KEY 是 SQL 中的保留字。为您的列选择另一个名称,它应该可以正常工作。

    official tutorial 使用以下语法:

    CREATE TABLE TEST(
        MLP CHAR(10) NOT NULL PRIMARY KEY
    );
    

    【讨论】:

      【解决方案3】:

      尝试重新启动 SQL 服务器,因为您提供的确切代码在我尝试时可以正常工作。另外,删除数据库中与 TEST 同名的任何类型的列

      【讨论】:

      • 我没有服务器,数据库本身只有.odb文件。
      猜你喜欢
      • 1970-01-01
      • 2019-10-28
      • 2019-01-17
      • 1970-01-01
      • 1970-01-01
      • 2016-10-31
      • 1970-01-01
      • 2014-09-23
      • 1970-01-01
      相关资源
      最近更新 更多