根据 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;