mysql - 插入到不同表时更新外键

标签 mysql

我创建了 3 个表

用户 { 用户 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`))

有什么想法吗?

最佳答案

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

关于mysql - 插入到不同表时更新外键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37036218/

相关文章:

mysql - 运行Docker容器时自动启动mysql

mysql - MySQL 中的 BLOB 和 TEXT 数据类型有什么区别?

mysql - @MapsId 以及与 session 关联的具有相同标识符值的两个对象

PHP 亚马逊 SQS 大数据

mysql - 当yield一个函数(yield client.query)时,为什么函数的代码不执行?

mysql - 在mysql中获取特定时间后的下一个可用时间段

php - 我试图用 JSON 对表中的所有数据进行编码,但没有结果

php - 如何使用下面的代码绘制谷歌折线图?

mysql - 如何为 sum() 输出多条记录

php - android webview 内的链接被打开两次