1

如果管理员和教师愿意,我希望他们能够删除考试。以下是删除考试的步骤:

  • 管理员可以删除任何考试
  • 教师只会删除他们创建的考试

但是我的主管在下面说明了这一点:

删除对于检查数据是一个非常敏感的操作。请非常小心地使用它。可以实现功能,但具有很强的条件约束。不活跃是非常明智的,这样人们就不会做愚蠢的事情。

我的问题是,任何有创建应用程序经验的 Web 开发人员都删除了考试,如果有的话,我应该遵循哪些其他限制条件?我允许教师和管理员通过将数据库中的“活动”列设置为“1”(活动)或“0”(不活动)来取消和激活考试。但如果他们愿意,我也希望他们删除考试。

谢谢

4

3 回答 3

4

我看到人们对你的问题不太满意。但我想说我想我理解你的问题。我不会删除任何东西。只需使记录可见或不可见,这样万一有人犯了错误并删除了某些东西,它就不会是永久性的。当然,每当您列出考试时,您只需要列出那些可见的。希望能帮助到你。

于 2012-10-25T00:17:54.393 回答
1

永远不要删除任何东西(尤其是在你的情况下)我什至会记录谁尝试删除 - 只需在你的代码中将它们标记为不可见。否则称为“审计跟踪”,稍后您将感谢 StackOverflow!

于 2012-10-25T00:21:27.073 回答
1

我同意这里的很多人。除非考试没有内容,否则不应删除考试。但是,您可以在考试表中设置 2 个新列:

  1. date_deleted默认 NULL,数据类型 DATETIME
  2. deleted_by默认 NULL,数据类型 INT(FK 到删除它的用户 ID)

因此您可以让授权用户将第一个值设置UTC_TIMESTAMP()为他/她的用户 ID,将第二个值设置为他/她的用户 ID。并确保您通过 where 子句(如WHERE ... AND date_deleted IS NULLor )从查询中排除所谓的已删除考试WHERE date_deleted IS NULL

上面的第一列将完成主要工作。它不仅会让您知道考试已被删除,而且还会保留被删除的日期/时间。另一方面,第二列将让您知道谁采取了该行动。我相信两者在不同的情况下都会有好处。

于 2012-10-25T00:32:48.027 回答