Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Declaring foreign key in Apache Derby database

Tags:

database

derby

I am using Apache Derby database with ij 10.10.

I have two tables. First is usertable and the second is logintable. In my usertable I have two columns: userid and name. My logintable table has two columns: userid and password. I need to set one column in logintable as foreign key where the primary key is in the usertable.

I used the following command to create the table:

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

How do I write the logintable to set the userid as a foreign key referring to the above primary key?

Can anyone please help me out?

like image 315
rainu Avatar asked May 09 '14 17:05

rainu


1 Answers

I think you're looking for the FOREIGN KEY constraint syntax: http://db.apache.org/derby/docs/10.10/ref/rrefsqlj13590.html

And, more specifically, the REFERENCES syntax: http://db.apache.org/derby/docs/10.10/ref/rrefsqlj16357.html#rrefsqlj16357

So when you are creating the "logintable", at some point in the CREATE TABLE statement you will have something like:

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

Note that the SQL language has various alternate syntax styles for declaring referential integrity constraints like these; for example you can use a simpler syntax that ends up being something like:

create table logintable(
    userid varchar(10) references usertable(userid),
    password varchar(20));
like image 161
Bryan Pendleton Avatar answered Sep 28 '22 13:09

Bryan Pendleton