【发布时间】:2015-12-10 01:54:22
【问题描述】:
我使用一个有更新权限的用户执行一条sql:
update stu set age = 27 where name='zjw';
我收到了这个错误:
错误 1143 (42000):SELECT 命令拒绝用户 'update_user'@'localhost' 用于表 'stu' 中的列 'name'
这样的表格:
CREATE TABLE `stu` (
`id` int(11) NOT NULL,
`name` varchar(20) DEFAULT NULL,
`age` int(11) DEFAULT NULL,
PRIMARY KEY (`id`)
)
update_user 的权限是:
grant update on *.* to 'update_user'@'%';
MySQL 版本为 5.1.73。
谢谢。
【问题讨论】:
-
这个错误是关于 SELECT 权限的,但是你给了 UPDATE ...你为什么不尝试给这个权限呢?实际上导致了错误?
-
错误
ERROR 1143 (42000): SELECT command denied to user似乎非常具体。用户是否只有 UPDATE 权限?或者它是否也有 SELECT 权限。查看错误时,授予 SELECT 权限似乎可以解决您的问题。 -
在我给用户选择权限后,错误消失了。但我也很困惑为什么用户有更新权限,但它不能更新数据?
标签: mysql