如何在Sybase数据库中创建外键?

时间:2019-02-08 02:10:58

标签: foreign-keys sybase create-table

我的数据库中有两个表应该与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。当我在Sybase的DBeaver中运行上面的代码时,这是我得到的错误消息:

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

  Incorrect syntax near 'fk1'.

如果有人可以告诉我我的代码在哪里破损,请告诉我。我不确定这是否与DBeaver相关或我的语法不正确。

1 个答案:

答案 0 :(得分:1)

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

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