権限とコマンドのアクセス権を保持しているデータベーステーブルをMySQLに作成しました。コマンドの権利はpermission_name
のプレフィックスcommand_
で始まり、allowed_ranks
と呼ばれる余分な列があります。これはINTランクIDのリストです必要な場合は、,
文字で分割します。列値の後のすべての数値に更新します(最大9)。
問題は、コマンドのものがそれ以上で、allowed_ranks
に1つのIDを入れました。command_で始まる列のすべてのものをループして、1つのIDであるallowed_ranksを変更する方法はありますか?それから9までのあらゆる数字に? 9は最大ランクIDです。
私はすでにクエリの一部を行っていますが、私は更新の仕方がわかりません。
UPDATE permission_rights` SET `allowed_ranks` = '?' WHERE `permission_name` LIKE 'command_%';
9までの列の値の後にどのように数値を更新すればよいですか?だから私はこの記録を持っていると言うことができます...私はあなたが何を意味するかを確認するためのちょっとした例です。
| permission_name | allowed_ids |
----------------------------------
| command_hello | 2
| command_junk | 5
| command_delete | 8
| command_update | 1
なる...
| permission_name | allowed_ids |
----------------------------------
| command_hello | 2,3,4,5,6,7,8,9
| command_junk | 5,6,7,8,9
| command_delete | 8,9
| command_update | 1,2,3,4,5,6,7,8,9
を使うのでしょうか? allowed_idsのリストがどこから来るのかは不明です –