【问题标题】:prevent delete * from table unless primary key specified除非指定主键,否则防止从表中删除 *
【发布时间】:2017-05-10 12:35:16
【问题描述】:

我想阻止用户使用 delete * from table 除非指定主键,我们的团队成员之一偶然使用“delete * from table_name”我想防止将来出现这种情况。

【问题讨论】:

  • 什么并减慢每个表上的每次删除速度?没有适当的备份是解决方案。
  • 不要使用触发器。 e4c5 是正确的,您需要适当的备份和合理的数据库访问安全性。
  • 撤销删除权限并创建一个存储过程以从表中删除.. 触发器不能用于检查 DELETE 查询中是否使用了 WHERE

标签: mysql database mysql-workbench amazon-aurora


【解决方案1】:

safe updates 适合你吗?这是一个您可以在命令行、选项文件中启用的选项,或者在 SQL 代码中设置一个变量来防止更新和删除,而无需 where 子句,其中包括定义要更改的行的键列。

在 MySQL Workbench 中,Preferences -> SQL Editor -> Safe Updates (rejects UPDATEs and DELETEs with no restriction) 中有一个设置。我相信这甚至是默认开启的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多