我正在寻求关于解决这个问题的最佳方式的建议:
我有一个“插入”和一个“删除”按钮,用于对mysql数据库执行查询。
我想确保某些具有某些键的行不会被删除,并且除非提供了密钥,否则还会阻止删除所有行。基本上我只是想要一些关于处理删除的最佳方法的建议,以防止意外删除重要数据。
有一个mysql --safe-mode但似乎已在5.6中删除了。另一种选择是为包含不应删除的键的行的表创建外键约束。
安全处理此问题的最佳方法是什么?也许是一些最佳实践。
答案 0 :(得分:0)
我会说你处理服务器端的所有安全性。您可以通过在AJAX调用上引入API密钥或使用用户身份验证和角色(特定用户只能删除数据)来实现此目的。
那说,一个共同的"删除"练习是向从中删除数据的表添加新字段。稍后您使用此将行标记为已删除。这样删除的数据仍保留在数据库中。管理员UI可以允许"取消删除"。
同样,您可以引入新的存档表并将删除的行移到那里,以便以后可以找到它们。但是,当您有多个外键约束时,这会有点棘手。