所以我应该在mySQL中创建这两个表
对我来说没有意义的是Users表如何与FriendsXRef一起使用。 我知道什么是交叉引用表,但是,在这种情况下,我没有看到以下的逻辑。 我被要求将以下数据插入用户表:
Helen X. World,1995年1月5日出生,女,Helen Y. World的朋友
Helen Y. World,生于1999年11月24日,女,Alicia R.的朋友 Sayers,Helen X. World和Mark U. Plank
Alicia R. Sayers,1990年7月22日出生,女,Helen Y. World的朋友 和Mark U. Plank
Mark U. Plank,1998年3月15日出生,男,Helen Y. World的朋友, Alicia R. Sayers和Walt Z. Plank
Walt Z. Plank,1989年5月10日出生,男,Mark U.计划的朋友
这就是我所做的:
insert into users values(1, 'Helen', 'World', 'X', 'F', '1995-01-05');
insert into users values(2, 'Helen', 'World', 'Y', 'F', '1999-11-24');
insert into users values(3, 'Alicia', 'Sayers', 'R', 'F', '1990-07-20');
insert into users values(4, 'Mark', 'Plank', 'U', 'M', '1998-03-15');
insert into users values(5, 'Walt', 'Plank', 'Z', 'M', '1989-05-10');
如您所见,我需要弄清楚如何将数据插入到 FriendsXref 表中,这样就可以说明第一部分,Helen Y World是Helen X World' s朋友。
当我尝试将添加添加到 FriendsXref 表时,如下所示:
insert into friendsxref values(2, 1);
insert into friendsxref values(3, 2);
insert into friendsxref values(1, 2);
insert into friendsxref values(4, 2);
insert into friendsxref values(2, 3);
insert into friendsxref values(4, 3);
insert into friendsxref values(2,4);
insert into friendsxref values(3,4);
insert into friendsxref values(5,4);
insert into friendsxref values(4,5);
我显然遇到错误,因为 FriendsXref 表的UserID字段设置为唯一。
然后,我的问题是,这是如何工作的?如何将这些朋友添加到 FriendsXref 表中?
由于
答案 0 :(得分:0)
您可以为FriendsXref
表设置单独的行标识符。该表可以包含id(Primary key)
,UserID(Foreign key)
,FriendID
列。
这样您就不会收到任何错误,因为您在id
列中已经有一个非唯一的行标识符。
答案 1 :(得分:0)
简单:同时使两列都是唯一的。只有当你和朋友做两次同样的人才会出错。
ALTER TABLE `FriendsXref` ADD UNIQUE( `UserID`, `FriendID`);