在apache derby数据库中声明外键

rai*_*inu 10 database derby

我正在使用Apache Derby数据库和ij 10.10.

我有2个表首先是'usertable',第二个是'logintable'.在我的'usertable'中,我有两列userid和name.我的'logintable'表有两列userid和password.我需要在logintable中将一列设置为外键,其中主键位于用户表中.

我使用命令以下命令来创建表:

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

如何编写logintable以将userid设置为引用上述主键的外键.

任何人都可以帮助我.

Bry*_*ton 15

我想你正在寻找FOREIGN KEY约束语法:http://db.apache.org/derby/docs/10.10/ref/rrefsqlj13590.html

更具体地说,REFERENCES语法: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)
Run Code Online (Sandbox Code Playgroud)

请注意,SQL语言具有各种备用语法样式,用于声明像这样的引用完整性约束; 例如,您可以使用更简单的语法,最终类似于:

create table logintable(
    userid varchar(10) references usertable(userid),
    password varchar(20));
Run Code Online (Sandbox Code Playgroud)

  • 我使用以下语句创建具有外键的登录表`create table logintable(userid varchar(10)references usertable(userid),password varchar(20));`这就有用了.谢谢你的提示. (2认同)