不忘初心! 一步一步来.|

marverdol

园龄:3年3个月粉丝:0关注:0

2024-07-19 09:21阅读: 16评论: 0推荐: 0

20240718 数据库外键报错

报错

1. 1452 - Cannot add or update a child row: a foreign key constraint fails (bvn'.'user_user_role^, CONSTRAINT ^user_user_role_user_id_e615b4e0_fk_user_user_id

FOREIGN KEY (user_id’) REFERENCES ^user_user (id'))

翻译:

不能添加或更新子行:外键约束失败(bvn'*)。'user_user_role^, CONSTRAINT ^user_user_role_user_id_e615b4e0_fk_user_user_id*
外键(user_id ') REFERENCES ^user_user (id'))

这个错误信息表明在尝试向数据库中的 user_user_role 表添加或更新数据时违反了外键约束。具体来说,你尝试插入或更新的 user_id 字段的值在 user_user 表的 id 字段中不存在。

其实就是我在插入数据时,user_user中的id不连续,3后边是7,我顺手插入了4

记录

1. 关联外键查询:

有一个用户表user_user,一个角色表user_role,一个用户角色对应表,user_user_role,其中user_user_role中有两个字段user_id,role_id,分别对应的外键是user_user和user_role中的id,角色有普通用户、商人、网红,我想查询某种用户角色,应该怎么做,商人有三种,分别是采摘商、网红、旅游商,对应的id是1、2、3

SELECT u.name, r.id AS role_id, r.name AS role_name  
FROM user_user u  
JOIN user_user_role ur ON u.id = ur.user_id  
JOIN user_role r ON ur.role_id = r.id  
WHERE r.id IN (1, 2, 3);

管理台具体实现时,要把where语句写在其他属性>条件控制

本文作者:marverdol

本文链接:https://www.cnblogs.com/marverdol/p/18310793

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   marverdol  阅读(16)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起