Как создать внешний ключ в базе данных Sybase? - PullRequest
0 голосов
/ 08 февраля 2019

В моей базе данных есть две таблицы, которые должны быть связаны с 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)
)

RefID в таблице 2 должен быть внешним ключом и ссылкой на RecID в таблице 1. Когда я запускаю приведенный выше код в DBeaver для Sybase, я получаю сообщение об ошибке:

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

  Incorrect syntax near 'fk1'.

Если кто-то можетСкажите мне, где мой код взлома, пожалуйста, дайте мне знать.Я не уверен, связано ли это с DBeaver или мой синтаксис неверен.

1 Ответ

0 голосов
/ 10 февраля 2019

Вы используете неподдерживаемый синтаксис .Вы должны использовать предложение CONSTRAINT .Также типы не совпадают, вы должны использовать тот же тип столбца, который вы использовали для другой таблицы.Код, который работает:

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