php - MySQL 无法使用 FK 约束进行 INSERT

标签 php mysql foreign-keys

当我尝试插入一些数据时收到以下错误消息:

SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails (database/UserDetails, CONSTRAINT UserDetails_ibfk_6 FOREIGN KEY (HearAboutID) REFERENCES UserDetails (HearAboutID) ON DELETE CASCADE ON UPDATE CASCADE)

FK 关系如下所示:

enter image description here

我试图输入到 UserDetails.HearAboutID 中的数据存在于 UserHearAbout.UserHearAboutID 中...那么为什么它不会呢? :(

最佳答案

来自您发布的错误

FOREIGN KEY (HearAboutID) REFERENCES UserDetails (HearAboutID) ON DELETE CASCADE ON UPDATE CASCADE)

(你实际上创建了一个引用相同表和相同列的约束), 我猜你的 FK 约束定义是错误的(应该是

 FOREIGN KEY (HearAboutID) REFERENCES UserHearAbout (UserHearAboutID)
ON DELETE CASCADE ON UPDATE CASCADE)

关于php - MySQL 无法使用 FK 约束进行 INSERT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9399625/

相关文章:

php - 在我的本地服务器中用php模拟外部页面请求

python - 从 Python 将数据从 MySQL 数据库打印到控制台

mysql - 如果行中的值在 sql 中为零,则不会显示行的总计

ruby-on-rails - 如何在 Rails 4 中设置自定义字符串外键?

sql - 在 ms-access 中获取表的外键约束列表?

php - PHP GET 方法中的多个请求

php - 如何通过 Composer 安装 Abraham 开发的 Twitter OAuth 开发版本?

php - 使用 PHP 生成统计信息(页面浏览量、唯一访问者)?

php - mysql_fetch_array()/mysql_fetch_assoc()/mysql_fetch_row()/mysql_num_rows 等...期望参数 1 是资源

mysql - 一张表为其他表提供 id : good or bad?