Mysql
 sql >> база данни >  >> RDS >> Mysql

mysql GRANT + КЪДЕ

Съгласно GRANT команда, няма възможност за задаване на нива на разрешения за всеки ред (таблица/колони, да, но не и отделните редове).

Можете да настроите Изглед за да се справите с това и вместо това да предоставите на потребителя разрешение за достъп до изгледа.

Изглед като следния трябва да ви даде съобщенията въз основа на текущия потребител:

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

И декларацията за предоставяне трябва да бъде подобна:

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Седмица от годината за седмици, започващи от събота

  2. Грешка Laravel classloader.php не успя да отвори поток:Няма такъв файл или директория

  3. Грешка в TypeScript при използване на Op.between в Sequelize с дати

  4. MySQL VARCHAR(255) UTF8 е твърде дълъг за ключ, но максималната дължина е 1000 байта

  5. Mysql count срещу mysql SELECT, кой е по-бърз?