Объявление внешнего ключа в базе данных apache derby

Я использую базу данных Apache Derby с ij 10.10.

У меня есть две таблицы, первая - "usertable", а вторая - "logintable". В моем "usertable" у меня есть два столбца userid и name. В моей таблице "logintable" есть два идентификатора пользователя и пароль. Мне нужно установить один столбец в logintable как внешний ключ, где первичный ключ находится в таблице пользователя.

Я использовал следующую команду для создания таблицы:

create table usertable (userid varchar(10) primary key,name varchar(20));

Как написать logintable, чтобы установить идентификатор пользователя как внешний ключ, относящийся к указанному выше первичному ключу.

Кто-нибудь может помочь мне.

Ответ 1

Я думаю, что вы ищете синтаксис ограничений FOREIGN KEY: http://db.apache.org/derby/docs/10.10/ref/rrefsqlj13590.html

И, более конкретно, синтаксис ССЫЛКИ: http://db.apache.org/derby/docs/10.10/ref/rrefsqlj16357.html#rrefsqlj16357

Итак, когда вы создаете "logintable", в какой-то момент в инструкции CREATE TABLE у вас будет что-то вроде:

 CONSTRAINT login_userid_ref FOREIGN KEY (userid) REFERENCES usertable(userid)

Обратите внимание, что язык SQL имеет различные альтернативные стили синтаксиса для объявления ограничений ссылочной целостности, подобных этим; например, вы можете использовать более простой синтаксис, который заканчивается чем-то вроде:

create table logintable(
    userid varchar(10) references usertable(userid),
    password varchar(20));