开发者社区 问答 正文

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

表格1

+----------+-------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +----------+-------------+------+-----+---------+----------------+ | UserID | int(11) | NO | PRI | NULL | auto_increment | | Password | varchar(20) | NO | | | | | Username | varchar(25) | NO | | | | | Email | varchar(60) | NO | | | | +----------+-------------+------+-----+---------+----------------+ 表2

+------------------+--------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +------------------+--------------+------+-----+---------+----------------+ | UserID | int(11) | NO | MUL | | | | PostID | int(11) | NO | PRI | NULL | auto_increment | | Title | varchar(50) | NO | | | | | Summary | varchar(500) | NO | | | | +------------------+--------------+------+-----+---------+----------------+ 错误:

com.mysql.jdbc.exceptions.MySQLIntegrityConstraintViolationException: Cannot add or update a child row: a foreign key constraint fails (myapp/table2, CONSTRAINT table2_ibfk_1 FOREIGN KEY (UserID) REFERENCES table1 (UserID)) 我做错了什么?我阅读了http://www.w3schools.com/Sql/sql_foreignkey.asp,但看不到有什么问题。

展开
收起
保持可爱mmm 2020-05-11 11:06:13 539 分享 版权
1 条回答
写回答
取消 提交回答
  • 您收到此错误的原因是,您试图基于当前存储在中的值table2向该行添加/更新该行的UserID字段没有有效值table1。如果您发布更多代码,我可以帮助您诊断具体原因。来源:stack overflow

    2020-05-11 11:06:28
    赞同 展开评论
问答地址: