mysql - 如何自动向 JOIN 表插入新值?
问题描述
我对 SQL 是半新的,但据我所知,可以使用触发器解决以下场景,我只是不确定如何。
我创建了一个users_to_branches
表。这是一个 JOIN 表 -users.id
从users.name
表users
和表中branch.name
获取branches
。表是在branch_ID
这两个users
和branches
表上连接的。
现在,users_to_branches
即使新记录被插入到users
表中,也不会更新。是否可以使用触发器进行设置,因此users.id
,users.name
和branch.name
将自动作为新记录插入到 中users_to_branches
?
解决方案
user_to_branches
如果要使用名称而不是 id插入行,可以使用查询:
insert into user_to_branches (user_id, branch_id)
select u.user_id, b.branch_id
from users u join
branches b
on u.name = ? and b.name = ?;
推荐阅读
- selenium-webdriver - Selenium-Java - org.openqa.selenium.remote.UnreachableBrowserException:与远程浏览器通信时出错。它可能已经死了
- html - 标签内的 div 转到新行
- jenkins - 如何替换 Jenkins Groovy 脚本中的不安全方法?
- java - Webflux 中的 GroupBy
- c# - GraphQLHttpClient 嵌套 json 字符串 c#
- javascript - 如果使用输入值 id,则无法获得输出
- forms - Flutter Form - 保存所有表单字段后的事件
- firebase - 我可以在 FireStore 匿名登录中使用旧用户 uid 替换登录用户吗?
- java - 如何在 Java 中为自定义复数类定义 equals 函数?
- plugins - QGIS Line Intersections Plugin 不会创建指向某些交叉线的点