Mysql 这个数据库表的设置看起来正确吗?
所以我想在mySQL中创建这两个表 对我来说没有意义的是Users表如何与FriendsXRef一起工作。 我知道交叉引用表是什么,但是,在这种情况下,我看不到以下方面的逻辑。 我被要求在用户表中插入以下数据: 海伦·X·世界,1995年1月5日出生,女性,海伦·Y·世界的朋友 Helen Y.World,1999年11月24日出生,女性,Alicia R.的朋友。 塞耶斯、海伦·X·世界和马克·U·普朗克 Alicia R.Sayers,1990年7月22日出生,女性,Helen Y.World的朋友 还有马克·普朗克 马克·普朗克,1998年3月15日出生,男,海伦·Y·沃尔德的朋友, Alicia R.Sayers和Walt Z.Plank 华尔兹·普朗克,1989年5月10日出生,男,马克·U·普兰的朋友 这就是我所做的:Mysql 这个数据库表的设置看起来正确吗?,mysql,sql,Mysql,Sql,所以我想在mySQL中创建这两个表 对我来说没有意义的是Users表如何与FriendsXRef一起工作。 我知道交叉引用表是什么,但是,在这种情况下,我看不到以下方面的逻辑。 我被要求在用户表中插入以下数据: 海伦·X·世界,1995年1月5日出生,女性,海伦·Y·世界的朋友 Helen Y.World,1999年11月24日出生,女性,Alicia R.的朋友。 塞耶斯、海伦·X·世界和马克·U·普朗克 Alicia R.Sayers,1990年7月22日出生,女性,Helen Y.Worl
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的朋友
当我尝试添加到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表中
谢谢您可以为FriendsXref表设置单独的行标识符。该表可以包含idPrimary key、UserIDForeign key和FriendID列。 这样就不会出现任何错误,因为id列中已经有一个非唯一行标识符。简单:同时使两列唯一。只有当你把同一个人交了两次朋友时才会出错
ALTER TABLE `FriendsXref` ADD UNIQUE( `UserID`, `FriendID`);