sql >> Databasteknik >  >> RDS >> Mysql

mysql GRANT + WHERE

Enligt GRANT kommando, det finns ingen möjlighet att ställa in behörighetsnivåer per rad (tabell/kolumner, ja - men inte de enskilda raderna).

Du kan ställa in en vy att hantera detta dock och ge användaren behörighet att komma åt vyn istället.

En vy som följande bör ge dig meddelanden baserat på den aktuella användaren:

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

Och bidragsutlåtandet bör vara liknande:

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


  1. Optimering av MySQL-sökning med hjälp av like och jokertecken

  2. Hur försäkrar man sig om att det inte finns något rastillstånd i MySQL-databasen när man ökar ett fält?

  3. Hur anropar man Oracle-funktion eller lagrad procedur med fjäderbeständighet?

  4. Uppgradera rader endast vid appuppgradering