插入到不同的表时更新外键

时间:2016-05-04 19:17:41

标签: mysql

我创建了3个表

用户 { user_id --pk 用户名 }

topics
{
topic_id-- pk
content
}

created_topics
{
created_id--pk
user_id
topic_id
FOREIGN KEY (user_id) REFERENCES users(user_id)
FOREIGN KEY (topic_id) REFERENCES topics(topic_id)
}

当我运行此查询时,

 insert into created_topics (user_id,topic_id) values (1,1);

我收到此错误...

#1452 - Cannot add or update a child row: a foreign key constraint fails (`xxxxxxxxxxx`.`created_topics`, CONSTRAINT `created_topics_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `users` (`user_id`))

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

任何外键的值必须是主键的值之一。您不能像上面那样使用外键约束将值插入到字段中。首先,将值插入到用户和主题表中。然后,您可以仅使用(引用)插入到各自外键中的主键的值。