2017-02-17 5 views
-1

データベースには、次のユーザー/ロールテーブル構造があります。そして、私は役割(例えば、ユーザーのための "CUSTOMER")を設定したいと思います。そのため、役割IDは適切なユーザーIDだけでなく、User_Roles表にも挿入されます。そのための正しいSQLクエリは何ですか?SQLはユーザーロールを挿入します

私はこれを試してみました:

INSERT INTO user_roles (user_id, role_id) 
SELECT users.id, 3 
FROM users 
WHERE users.id = 1 

はそれを行うには良い方法はありますか?番号「2」は、あなたがに役割を与えたいユーザーのIDを表し

INSERT INTO User_Roles VALUES(2,(SELECT id FROM Roles WHERE Role = "CUSTOMER")); 

---- Users Table --------- 
ID | UserName | Password 
1 | SomeUser | ***** 
-------------------------- 

---- Roles Table --------- 
ID | Role 
1 | CUSTOMER 
2 | ADMIN 
-------------------------- 

---- User_Roles Table --------- 
UserID | RoleID 
    1 |  1 
    1 |  2 
------------------------------- 

答えて

0

あなただけ行うことができます。

INSERT INTO user_roles (user_id, role_id) 
    VALUES (1, 3); 

名前でそれをしたい場合:

INSERT INTO user_roles (user_id, role_id) 
    SELECT 1, r.role_id 
    FROM roles r 
    WHERE r.name = 'CUSTOMER'; 
0

は、次のコードを実行することができます。

関連する問題