2015-03-10 4 views
0

У меня есть 2 стола, таблица Users и таблица User_permissions. У пользователя может быть много разрешений, и каждое разрешение может быть назначено для разных пользователей, хотя это отношение не было настроено в базе данных (не мое решение!).Вставить значения в таблицу B на основе столбца таблицы A?

Скажем, 2 новых разрешения создаются - разрешение admin и разрешение superadmin. Кроме того, каждому пользователю в таблице Users должно быть предоставлено это разрешение, вставив имя пользователя и имя разрешения в таблицу User_permissions.

Очевидно, это можно сделать вручную INSERT INTO User_permissions VALUES (userA, admin) и так далее, но при условии, что у меня есть список из более 1000 пользователей, есть ли более простой способ сделать это? Я думал написать быстрый скрипт в Java, но есть ли более простой способ использовать только SQL?

ответ

2

Использование insert . . . select:

INSERT INTO User_permissions(user, permission) 
    SELECT user, 'admin' 
    FROM users u; 
Смежные вопросы