我用誰擁有更新權限的用戶執行一個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