我用谁拥有更新权限的用户执行一个SQL:ERROR 1143(42000):SELECT命令否认
update stu set age = 27 where name='zjw';
我得到这个错误:
ERROR 1143 (42000): SELECT command denied to user 'update_user'@'localhost' for column 'name' in table 'stu'
像这样的表:
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 **特权,但你给**更新** ...为什么你不试着给出实际上导致错误的特权? –
错误'错误1143(42000):拒绝给用户的SELECT命令似乎很特殊。用户是否只有更新权限?还是它也有SELECT权利。在查看错误时,授予SELECT权利似乎可以解决您的问题。 – Willem
当我给用户选择特权后,错误消失。 但我也混淆了为什么用户具有更新权限,但它无法更新数据? – Robin