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语句写在其他属性>条件控制

posted @ 2024-07-19 09:21  marverdol  阅读(32)  评论(0)    收藏  举报