gpt4 book ai didi

mysql GRANT + WHERE

转载 作者:可可西里 更新时间:2023-11-01 07:05:29 26 4
gpt4 key购买 nike

我只想将权限授予 mysql 中的特定行。表:消息cols:从,到,消息

GRANT ALL ON db.messages TO 'jeffrey'@'localhost' WHERE messages.from = 'jeffrey' OR messages.to = 'jeffrey' ;

有了这样的东西,用户只能访问他自己的消息。

你知道如何解决这个问题吗?

最佳答案

根据 GRANT命令,无法在每行的基础上设置权限级别(表/列,是的 - 但不是单独的行)。

你可以设置一个 View处理这个问题并授予用户访问 View 的权限。

如下所示的 View 应根据当前用户为您提供消息:

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

grant-statement 应该是类似的:

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

关于mysql GRANT + WHERE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11693727/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com