MySql VIEW ERROR'查看'tablet_001.hisrec'引用无效的表或列或函数或视图的定义者/调用者缺乏使用它们的权利'
Posted
技术标签:
【中文标题】MySql VIEW ERROR\'查看\'tablet_001.hisrec\'引用无效的表或列或函数或视图的定义者/调用者缺乏使用它们的权利\'【英文标题】:MySql VIEW ERROR 'View 'tablet_001.hisrec' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them'MySql VIEW ERROR'查看'tablet_001.hisrec'引用无效的表或列或函数或视图的定义者/调用者缺乏使用它们的权利' 【发布时间】:2013-08-11 10:26:20 【问题描述】:何时执行
SELECT count(*) FROM hisrec
出现这个错误
查看“tablet_001.hisrec”引用无效的表或列或 视图的函数或定义者/调用者无权使用它们
如果执行此操作
SELECT COD FROM hisrec
出现同样的错误
但如果执行此操作
SELECT * FROM hisrec
一切正常:S
为什么??
我是 root.... 拥有所有权限!
【问题讨论】:
hisrec
是如何定义的?
是一个普通视图,在任何计算机上相同的视图(其他服务器)工作正常,但在某些客户端失败......(对不起我的英语)
【参考方案1】:
我遇到了同样的错误。该错误是因为用户(root用户除外)没有使用该权限的权限
表。
所以首先授予用户使用该表的权限。使用 root 用户授予权限。
grant select on database_name.table_name to user@localhost ;
您可以通过同样的方式授予更新或插入权限。
【讨论】:
【参考方案2】:我在 mysql 5.6.x 上遇到了类似的问题。
select * from view
工作。
select count(*) from view
导致 OP 的错误消息。
通过将 Order By 子句从视图定义中的 select ... 中取出来解决。
【讨论】:
应该是“select count(*) from view” 您可以编辑您的原始帖子...这对于未来的读者来说比添加评论更有用。谢谢!【参考方案3】:SELECT VIEW_DEFINITION FROM INFORMATION_SCHEMA.VIEWS
WHERE TABLE_SCHEMA = 'tablet_001' AND TABLE_NAME = 'hisrec';
看看你的观点,看看有什么问题,如果你不知道在这里发布。
【讨论】:
我只是好奇,这个命令有什么特别之处是SHOW CREATE VIEW hisrec \G
无法检索到的吗?以上是关于MySql VIEW ERROR'查看'tablet_001.hisrec'引用无效的表或列或函数或视图的定义者/调用者缺乏使用它们的权利'的主要内容,如果未能解决你的问题,请参考以下文章
MySql VIEW ERROR'查看'tablet_001.hisrec'引用无效的表或列或函数或视图的定义者/调用者缺乏使用它们的权利'
Fatal error: Can't open and lock privilege tables: Table 'mysql.host' doesn't exist(
Mysql报错Fatal error: Can't open and lock privilege tables: Table 'mysql.host' doesn't
MySQL Error--InnoDB Table mysqlinnodb_index_stats has length mismatch in the column
SQLSTATE[HY000]: General error: 1114 The table '/home/mysql/data3007/tmp/#sq