【发布时间】:2020-08-06 15:58:39
【问题描述】:
我想在我的“响应”表中添加一个外键
ALTER TABLE reponse ADD CONSTRAINT FK_5FB6DEC71E27F6BF FOREIGN KEY (question_id) REFERENCES question (id)
但是,当我尝试该查询时,我得到了那个错误
#1452 - Cannot add or update a child row: a foreign key constraint fails (`my_quizz`.`#sql-3f2_11d`, CONSTRAINT `FK_5FB6DEC71E27F6BF` FOREIGN KEY (`question_id`) REFERENCES `question` (`id`))
我的数据库名为“my_quizz”。
我的“回复”表:
+------------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+------------------+--------------+------+-----+---------+----------------+
| id | int(6) | NO | PRI | NULL | auto_increment |
| id_question | int(11) | NO | | NULL | |
| reponse | varchar(255) | NO | | NULL | |
| reponse_expected | int(11) | YES | | NULL | |
| question_id | int(11) | NO | | NULL | |
+------------------+--------------+------+-----+---------+----------------+
我的“问题”表
+--------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+--------------+--------------+------+-----+---------+----------------+
| id | int(6) | NO | PRI | NULL | auto_increment |
| id_categorie | int(6) | YES | | NULL | |
| question | varchar(255) | YES | | NULL | |
| q_id | int(6) | YES | | NULL | |
+--------------+--------------+------+-----+---------+----------------+
【问题讨论】:
-
错误似乎很明显。表中已有外键条件无效的数据。你有什么不明白的?
-
我想知道我是否可以更新我已经拥有的数据?
-
列的大小也不同,
question_id是int(11)和question.id是int(6),如果您在它们之间添加外键约束,理想情况下它们应该具有相同的大小 -
@harsh 我更改了 int 仍然出现同样的错误
标签: mysql sql database foreign-keys