Mysql:无法添加或更新子行:外键约束失败


Mysql:Cannot add or update a child row: a foreign key constraint fails

首先,我知道有很多关于这个主题的帖子,但我检查的帖子对我没有帮助,所以我想发布我的问题。

正在建立一个网站,人们可以注册为用户,然后为我填写一些不同的表格。我有 2 个表,一个是"用户",另一个是"表单"表。在用户表中,我user_id auto_incremented并且此ID作为外键连接到"form"表。我想查看哪些用户通过user_id填写了表单。当我尝试将填写的表单注册到数据库时,我收到"无法添加或更新子行:外键约束失败"消息。我该如何解决这个问题?

如果已将表单表上的user_id设置为指向用户表中user_id的外键,则必须在插入表单行时提供有效的user_id。

您可以将表单表上的user_id字段设置为允许为 NULL,这意味着不必设置它。

您正在尝试向外键列添加一些数据,而其他表中没有相同的数据。

主要发生在表中有数据并且您想要创建/编辑/删除foreign_key

要使其foreign_key的字段与"表"字段的格式不同

溶液:
你必须做一个
1)备份或复制您的数据
2)移除foreign_keys
3)和截断表中的数据
4)最后重新附加foreign_keys
5)更新您的数据

我希望它有所帮助