2011-10-30 49 views
3

我正在使用MySQL 5.0,我想知道是否有辦法禁用表上的刪除。如同,不允許任何用戶從平板電腦中刪除任何內容,只能更新和插入。是否可以禁用MYSQL上的表上的刪除?

+2

是的。由MySQL提供的權限http://dev.mysql.com/doc/refman/5.1/en/privileges-provided.html – 2011-10-30 22:21:48

+0

你當然可以使用這裏給出的命令:http://forums.mysql.com/read .php?10,290555,290778#msg-290778 – lc2817

回答

7

是的,看到MySQL手冊for the GRANT syntax

這裏是你想要的一個例子:

GRANT SELECT, INSERT ON mydb.mytbl TO 'someuser'@'somehost';

哪隻給出SELECTINSERT的privilages到特定的用戶/主機對指定的表。

1

在表上設置權限可以讓您禁用刪除操作。您使用GRANT設置權限。

6

您可以按其他人的建議使用grant。或者你也可以創建BEFORE DELETE觸發器引發錯誤,所以沒有人可以發出delete對你的表(請記住,它仍然有可能TRUNCATE TABLE

+0

觸發器很酷。雖然對於簡單的權限限制,這可能會導致WTF增量的增加。 –

+0

你可以發佈一個工作示例嗎? –

3

這裏一個例子:

DELIMITER $$

CREATE TRIGGER tr_table1_del之前刪除在table1上爲每行 BEGIN SIGNAL SQLSTATE'45000'SET MESSAGE_TEXT ='DELETE cancel'; END $$

DELIMITER;

相關問題