Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 这个数据库表的设置看起来正确吗?_Mysql_Sql - Fatal编程技术网

Mysql 这个数据库表的设置看起来正确吗?

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

所以我想在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·普兰的朋友

这就是我所做的:

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`);