MySQL允许用户使用WHERE但拒绝SELECT

时间:2014-12-23 20:30:50

标签: mysql

我创建了一个具有选择列用户名和列ip的权限的用户。他还拥有INSERT的INSERT和UPDATE权限。

我的问题是他应该能够做到以下几点:

[1] UPDATE table SET ip='localhost' WHERE key = "XXXXXXXX"

但应拒绝这样做:

[2] key

如果我给他列权密钥的权利,嘿可以做[2],如果我撤销我获得的权利:

SELECT key from table

我能做些什么来解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

@MichaelBerowski你的存储过程提示非常棒 我创建了以下程序,效果很好 我只需要授予他执行此程序的权利,但他不再需要选择,更新,插入权限。

CREATE PROCEDURE update_ip(  
IN p_ip varchar(15),  
IN p_key varchar(50)) 
BEGIN 
UPDATE table SET ip = p_ip WHERE key = p_key;  
END