更新1到多个表的sql(也称为连接表)

时间:2016-09-26 04:00:43

标签: mysql sql

考虑一个员工,通常在客户端应用程序中,我们添加和删除角色,我正在寻找一个有效的sql来处理添加/删除。

用户

id, name
1, 'john'
2, 'joe'

角色

id, name
1, 'admin'
2, 'accounts'
3, 'finance'
4, 'marketing'

user_role

user_id, role_id
1, 1
1, 2
2, 1

例如,我们必须指定/user/1角色为“account”和“finance并删除admin

[2, 3]

我的sql首先删除该用户的所有角色,然后再从数组中填充,我认为它效率低下。是否存在更新关系/连接表的SQL,假设`/ user / 1'也是管理员,但客户端删除了该角色。

sql = 'DELETE FROM user_role WHERE id = ?; INSERT INTO user_role ?'
values = [request.params.id, request.body]

这是正确的还是有更好的方法?

0 个答案:

没有答案