在phpmyadmin中自动擦除表数据

时间:2013-08-10 09:27:16

标签: php mysql phpmyadmin

我正在编写一份反馈表,允许学生就特定主题提供反馈。 我有一个包含3个字段“ID,Unique No,Password”的表格,其中存储了学生入学编号。现在这就是我想要的。 每个学生完成反馈后,必须自动删除表中的特定数据。 请帮忙。

2 个答案:

答案 0 :(得分:1)

之前解释过使用触发器。只需单击触发器并创建一个触发器,该触发器在表中记录学生反馈的INSERT之后发生。你可以做这样的事情

enter image description here

我不同意,但使用触发器是一种很好的做法。触发器是业务逻辑,它们的逻辑应该在您的代码中实现。在应用程序和数据库中分离业务逻辑会使下一个开发人员难以处理,因为他不知道在哪里查看。我认为使用它们的唯一原因是它可以用于分布式数据库,以使它们相互更新。

答案 1 :(得分:1)

这可以使用JOIN来完成,但我会在此处演示触发器,因为我在上面的评论中提到了它。

我假设你有另一张桌子存放学生的反馈数据。在这个例子中,我们称之为students_feedback,另一个students_admission

使用MySQL Triggers,您可以让数据库自动删除学生录取数据ON INSERT。您将要在创建上使用,因为只要反馈数据存储在students_feedback表中,就会触发INSERT事件。

因此,例如:

CREATE TRIGGER delete_admission AFTER INSERT 
  ON students_feedback FOR EACH ROW 
  BEGIN 
    DELETE FROM students_admission WHERE students_admission.id=OLD.id LIMIT 1;
  END;

在此处使用您想要的任何DELETE查询。

注意:在MySQL 5.0.10之前,触发器不能按名称包含对表的直接引用。