1

我创建一个视图:

CREATE OR REPLACE VIEW AuthorizationTrainer AS 
  SELECT Person.id, Person.login as nick, Person.password as pass 
  FROM TABLE2,Person 
  WHERE TABLE2.id_Person = Person.id

然后创建赠款:

GRANT SELECT ON Teachprog.AuthorizationTrainer TO 'Trener'@'%'

SELECT id,nick FROM AuthorizationTrainer- 作品

SELECT id,nick,pass FROM AuthorizationTrainer - 产生错误:

fly 错误:#1356 - 视图'Teachprog.AuthorizationTrainer'引用无效的表或列或函数或视图的定义者/调用者缺乏使用它们的权限

4

2 回答 2

1

你检查过底层证券TABLE2Person表格的赠款吗?您可以授予视图上所需的所有选择权限,但如果用户被阻止访问 中的pass字段Person,您将收到此错误。去检查:

show grants for trener@%  
于 2010-12-26T10:41:47.800 回答
0

授予用户培训师选择表的权限。您只授予查看权限。

grant select on Teachprog.TABLE2,Person to 'Trener'@'%' ;

grant select on Teachprog.Person to 'Trener'@'%' ;
于 2021-03-14T08:13:45.033 回答