gpt4 book ai didi

mysql - 正确创建关系数据库

转载 作者:行者123 更新时间:2023-11-29 10:41:56 25 4
gpt4 key购买 nike

我有一个包含三个表的数据库。表 Authentication 包含以下内容:

+----------+-----------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------+-----------------+------+-----+---------+----------------+
| id | int(6) unsigned | NO | PRI | NULL | auto_increment |
| userid | varchar(30) | NO | | NULL | |
| password | varchar(30) | NO | | NULL | |
| role | varchar(20) | NO | | NULL | |
| email | varchar(50) | YES | | NULL | |
+----------+-----------------+------+-----+---------+----------------+

登录包含以下内容:

+--------------+-----------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+--------------+-----------------+------+-----+---------+----------------+
| id | int(6) unsigned | NO | PRI | NULL | auto_increment |
| TimeLoggedIn | text | NO | | NULL | |
| sessionid | varchar(255) | NO | | NULL | |
+--------------+-----------------+------+-----+---------+----------------+

和事件:

+----------+-----------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------+-----------------+------+-----+---------+-------+
| id | int(6) unsigned | NO | PRI | NULL | |
| Torrents | mediumtext | NO | | NULL | |
+----------+-----------------+------+-----+---------+-------+

Authentication 的 id 字段与其他表中的 id 之间存在关系。

我需要在 Activity 中添加多行,其中每个 id 都有多个 Torrent 值。不幸的是,当我尝试添加具有重复 id 值的新行时:

INSERT INTO `Activity` (`id`, `Torrents`) VALUES ('1', 'dssfsdffdsffs');

它给了我错误:#1062 - 键“PRIMARY”的重复条目“1”

如何解决?我怎么创建的表是错误的?

我已阅读以下明显重复的问题:

  1. #1062 - Duplicate entry for key 'PRIMARY'

但是虽然它说将其作为我的主键删除,但 mysql 不允许我创建关系,除非我将其设为主键。

最佳答案

您无法通过主键对主键的引用来启动一对多关系。这将是一对一的关系。

在您的登录表和事件表中,您需要有一个外键来引用身份验证的 ID。示例:

 CONSTRAINT `FK_Login` FOREIGN KEY (`AuthenticationID`) REFERENCES `Authentication` (`ID`) ON DELETE CASCADE ON UPDATE CASCADE

关于mysql - 正确创建关系数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45322242/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com