我创建了一个视图:
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
- 产生错误:
飞行错误:#1356 - 查看
'Teachprog.AuthorizationTrainer'
引用无效表格或 列或功能或定义者/调查者缺乏使用它们的权利
答案 0 :(得分:1)
您是否检查了基础TABLE2
和Person
表格上的拨款?您可以在视图上授予所需的所有选择权限,但如果阻止用户访问pass
中的Person
字段,则会出现此错误。检查:
show grants for trener@%
答案 1 :(得分:0)
授予用户培训师选择表格的权限。您仅授予查看权限。
grant select on Teachprog.TABLE2,Person to 'Trener'@'%' ;
grant select on Teachprog.Person to 'Trener'@'%' ;