2012-11-26 23 views
0

正如標題所說的SQL修改,但是我已經竭盡所能來防止用戶沒有運氣阻止一個特定表由特定用戶

修改該表出於某種原因,DENY不MySQL的存在5.5手動所以下面不起作用

DENY ALL ON OBJECT::database.table TO user 
DENY ALL ON database.table TO 'user'@'localhost' 
REVOKE ALL ON database.table TO 'user'@'localhost' 

最後一個給了我這個錯誤

There is no such grant defined for user 'user' on host 'localhost' on table 'table' 

但是,如果是這樣的話,那麼豈不是能插入,選擇或更新?

任何幫助表示讚賞,我會在下面添加系統信息。

軟件:MySQL的

軟件版本:5.5.27 - MySQL社區服務器(GPL)

協議版本:10

的Apache/2.4.3(Win32的)的OpenSSL/1.0.1c PHP /5.4.7

數據庫客戶端版本的libmysql - mysqlnd 5.0.10

回答

1

你不能只從一個表鎖定MySQL用戶。如果他們已經擁有整個數據庫的權限,那麼您需要撤銷該權限並重新授予他們訪問特定表格的權限,以便他們需要能夠觸摸。

+0

沒想到的是,測試工作。謝謝。 – Graeme

0

你可以改變你的更新語句儘量使用current_user()功能:

update mytable set 
... 
where id = ? 
and current_user() not in ('john', 'bob', 'sally')