参照表外键怎么自动查找到被参照表主键值?

数据库生成主键值,参照表外键怎么自动查找到被参照表主键值?


CREATE TABLE t_group (
        groupid INT NOT NULL,
        groupname VARCHAR(30),
        PRIMARY KEY (groupid)
);


CREATE TABLE t_user (
        userid INT NOT NULL,
        username VARCHAR(30),
        PRIMARY KEY (userid),


);


CREATE TABLE t_link (
        linkid INT NOT NULL,
        groupid INT,
        userid INT,
        PRIMARY KEY (linkid),
        FOREIGN KEY (groupid) REFERENCES t_group(groupid),
        FOREIGN KEY (userid) REFERENCES t_user(userid)
);


用SEQUENCE让数据库自动生成各表主键值。
CREATE SEQUENCE seq_group AS INT
  START WITH 1
  INCREMENT BY 1
  NO MAXVALUE
  NO CYCLE
  CACHE 100;


CREATE SEQUENCE seq_user AS INT
  START WITH 1
  INCREMENT BY 1
  NO MAXVALUE
  NO CYCLE
  CACHE 100;


CREATE SEQUENCE seq_link AS INT
  START WITH 1
  INCREMENT BY 1
  NO MAXVALUE
  NO CYCLE
  CACHE 100;


各表现在有这些数据待插入:
t_group:
Group1
Group2


t_user:
xiaoming
xiaohua


t_link:
Group1,xiaoming
Group2,xiaohua






对于表记录做更新操作:
INSERT INTO t_group VALUES (seq_group.nextval, 'Group1');
INSERT INTO t_group VALUES (seq_group.nextval, 'Group2');
INSERT INTO t_user VALUES (seq_user.nextval, 'xiaoming');
INSERT INTO t_user VALUES (seq_user.nextval, 'hua');


用$groupid和$userid分别表示groupid和userid的值。
INSERT INTO t_link VALUES (seq_link.nextval,$groupid,$userid);


请问怎么样让数据库能在往t_link表插数时自动查找到相应的groupid和userid的值?谢谢!
参与7

提问者

NullPlace
其它IBM

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2014-10-22
  • 关注会员:1 人
  • 问题浏览:6301
  • 最近回答:2014-10-28
  • X社区推广