sql >> データベース >  >> RDS >> Mysql

ユーザーシステム-MySQLデータベースでの複数の役割

    複数のテーブルを使用してそれらを結合します:

    User
    --------------
    id    name
     1    test
    
    Role
    --------------
    id    name
     1    Donator
     2    Organizer
     3    Administrator
    
    User_Role
    --------------
    id    user_id    role_id
     1    1          1
     2    1          3
    
    
    SELECT * FROM User u 
        LEFT JOIN User_Role ur ON u.id = ur.user_id
        LEFT JOIN Role r ON ur.role_id = r.id
    WHERE r.name = "Administrator";
    

    役割が3つしかないことがわかっていて、覚えやすい場合は、クエリが簡単になります。

    SELECT * FROM User u LEFT JOIN User_Role ur ON u.id = ur.user_id WHERE ur.role_id = 3;
    


    1. BIGINTUNSIGNEDをINTに変換します

    2. 一致した単語の数を数える

    3. ジョダ時間の2つの日付の差日数が間違っていますか?

    4. Sequel Proでは、ポート3306を介した標準のmysql接続は安全ですか?