Mysql
 sql >> Datenbank >  >> RDS >> Mysql

mysql GRANT + WO

Per GRANT Befehl, gibt es keine Möglichkeit, Berechtigungsstufen pro Zeile festzulegen (Tabelle/Spalten, ja - aber nicht die einzelnen Zeilen).

Sie könnten eine Ansicht einrichten um dies zu handhaben und dem Benutzer stattdessen die Berechtigung zum Zugriff auf die Ansicht zu erteilen.

Eine Ansicht wie die folgende sollte Ihnen die Nachrichten basierend auf dem aktuellen Benutzer anzeigen:

CREATE VIEW user_messages AS
    SELECT *
    FROM messages
    WHERE
        messages.from = user() OR messages.to = user();

Und die Grant-Anweisung sollte ähnlich sein:

GRANT ALL ON db.user_messages TO 'jeffrey'@'localhost';