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