【问题标题】:How to create foreign key in Sybase database?如何在 Sybase 数据库中创建外键?
【发布时间】:2019-07-02 06:26:15
【问题描述】:

我的数据库中有两个应该与 PK 和 FK 连接的表。以下是表 1 的示例:

RecID(numeric(19,0)) PK CLUSTERED
Name(varchar(100))
Description(varchar(5000))

然后我想创建第二个将引用表 1 的表。这是我到目前为止的代码示例:

CREATE TABLE table2(
    RefID bigint,
    Status bit,
    Comments varchar(8000),
    FOREIGN KEY fk1(RefID) REFERENCES table1(RecID)
)

表 2 中的 RefID 应该是表 1 中的外键和对 RecID 的引用。当我在 DBeaver for Sybase 中运行上面的代码时,我得到的错误消息是:

SQL Error [102] [37000]: Incorrect syntax near 'fk1'.

  Incorrect syntax near 'fk1'.

如果有人能告诉我我的代码在哪里被破坏,请告诉我。我不确定这是否与 DBeaver 有关,或者我的语法不正确。

【问题讨论】:

    标签: foreign-keys sybase create-table


    【解决方案1】:

    您正在使用unsupported syntax。您必须使用 CONSTRAINT 子句。此外,类型不匹配,您应该使用与其他表相同的列类型。有效的代码是:

    CREATE TABLE table2(
        RefID numeric(19,0),
        Status bit,
        Comments varchar(8000),
        constraint fk1 foreign key (RefID) REFERENCES table1(RecID)
    )
    

    【讨论】:

      猜你喜欢
      • 2011-06-08
      • 2015-04-19
      • 1970-01-01
      • 2018-10-10
      • 2013-03-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-19
      • 2017-10-08
      相关资源
      最近更新 更多