これは単純な質問に思えるかもしれませんが、私はリレーショナル データベースの経験が非常に限られています。MySQL で権限を微調整するにはどうすればよいですか。たとえば、次のコードがある場合
CREATE TABLE IF NOT EXISTS user(
ID INT NOT NULL AUTO_INCREMENT,
//...other columns
PRIMARY KEY(ID)
)ENGINE=InnoDB
CREATE TABLE IF NOT EXISTS pictures
(
ID INT NOT NULL AUTO_INCREMENT,
userID INT NOT NULL,
//...other columns
PRIMARY KEY(ID),
FOREIGN KEY (userID) REFERENCES user(ID)
)ENGINE=InnoDB";
2 人の新しいユーザーを作成user1
しuser2
、テーブルへのアクセス許可を与えることができます。
GRANT ALL PRIVILIGES ON db_name.* to ".user1."@\"%\" identified by ".pass1
GRANT ALL PRIVILIGES ON db_name.* to ".user2."@\"%\" identified by ".pass2
しかし、テーブル内の特権を特定のサブセットのみに制限する場所はどこにありますか? 代わりに、PHP コードでこれを実行する必要がありますか? 私はオブジェクト指向プログラミングに慣れているので、すべての情報を保持する大規模なテーブルには慣れていません。