Php 是否可以在MYSQL上禁用表上的删除?

Php 是否可以在MYSQL上禁用表上的删除?,php,mysql,sql-delete,Php,Mysql,Sql Delete,我使用的是MySQL 5.0,我想知道是否有办法禁用表上的删除。与中一样,不允许任何用户从平板电脑中删除任何内容,只允许更新和插入。是的,请参阅MySQL手册 以下是您想要的示例: GRANT SELECT,在mydb.mytbl上插入到'someuser'@'somehost' 它仅为指定表上的特定用户/主机提供SELECT和INSERT权限。在表上设置权限将允许您禁用删除操作。您可以使用设置权限。您可以按照其他人的建议使用grant。或者,您可以在删除前创建引发错误的触发器,这样就没有人可以

我使用的是MySQL 5.0,我想知道是否有办法禁用表上的删除。与中一样,不允许任何用户从平板电脑中删除任何内容,只允许更新和插入。

是的,请参阅MySQL手册

以下是您想要的示例:

GRANT SELECT,在mydb.mytbl上插入到'someuser'@'somehost'


它仅为指定表上的特定用户/主机提供
SELECT
INSERT
权限。

在表上设置权限将允许您禁用删除操作。您可以使用设置权限。

您可以按照其他人的建议使用
grant
。或者,您可以在删除前创建引发错误的
触发器,这样就没有人可以对您的表发出
DELETE
(请记住,仍然可以
TRUNCATE table

以下是一个触发器示例:

DELIMITER $$

CREATE TRIGGER tr_table1_del BEFORE DELETE ON table1 FOR EACH ROW
BEGIN
  SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'DELETE cancelled'; 
END $$

DELIMITER ;

对MySQL提供的特权您当然可以使用这里给出的命令:触发器很酷。虽然对于像权限限制这样简单的事情,这可能会导致WTF增量的增加。这是个好主意