根据 table A 中的列将值插入 table B?
Insert values into table B based on column from table A?
我有 2 个 table,一个 Users
table 和一个 User_permissions
table。一个用户可以有很多权限,每个权限可以分配给很多不同的用户,尽管这种关系还没有配置到数据库中(不是我的决定!)。
假设创建了 2 个新权限 - admin
权限和 superadmin
权限。此外,Users
table 中的每个用户都需要通过将用户名和权限名称插入 User_permissions
table.
来授予此权限
显然这可以由 INSERT INTO User_permissions VALUES (userA, admin)
等手动完成,但考虑到我有超过 1,000 名用户的列表,是否有更简单的方法来完成此操作?我正在考虑在 Java 中编写一个快速脚本,但是有没有更简单的方法只使用 SQL?
使用insert . . . select
:
INSERT INTO User_permissions(user, permission)
SELECT user, 'admin'
FROM users u;
我有 2 个 table,一个 Users
table 和一个 User_permissions
table。一个用户可以有很多权限,每个权限可以分配给很多不同的用户,尽管这种关系还没有配置到数据库中(不是我的决定!)。
假设创建了 2 个新权限 - admin
权限和 superadmin
权限。此外,Users
table 中的每个用户都需要通过将用户名和权限名称插入 User_permissions
table.
显然这可以由 INSERT INTO User_permissions VALUES (userA, admin)
等手动完成,但考虑到我有超过 1,000 名用户的列表,是否有更简单的方法来完成此操作?我正在考虑在 Java 中编写一个快速脚本,但是有没有更简单的方法只使用 SQL?
使用insert . . . select
:
INSERT INTO User_permissions(user, permission)
SELECT user, 'admin'
FROM users u;